Yup, that fixed it, the x86 executable worked great now! Thanks!
Also, in a second iteration of that software I made (not on Github sadly, can't find the source at the moment, was in C# in any case) I vaguely remember reading *.cos files, and cross referencing them to load models and approprate textures for them.
There was a roadmap as to what number is a MODL, CMP etc. in every COS.
It was all about the parents as I seem to recall, one of them always tied a palette, a model and textures that could comprise the full thing, as well as keys and such. It was relatively easy to read I think (though you would have to read through clear text, which would mean parsing lines). I might be misremembering, but I think that was the way things were.
And as you already read from the LABs themselves, crossreferencing shouldn't be a problem (I don't think anything was being read from other LABs, so you shouldn't get any nulls).
That may be a feature in one of your next releases, if you have the time and will to do it of course