Hmm that is a puzzle. I too would jump to a codec issue (I know Indeo codecs cause a lot of issues nowadays) but if you've ruled that out, I'm not sure.
If you run it through x32dbg, it should at least tell you what is crashing (e.g. DirectDraw, some internal game function, etc.) - that's how I did a lot of early LEGO Island modding. Then you could trace that back in Ghidra to determine what the game is trying to do at that point, and maybe even why it doesn't work and what to do about it.
Good luck!