Something else, probably unrelated to your issue but still:
I once had strange crashes in my game, don't know remember what kind though. However, after weeks of debugging I found the reason:
I was creating custom FONTs dynamically (using Windows functions to add fonts at runtime).
Old (mostly) text objects still had the old now invalid font pointer:
FONT* myFont = "Arial#20b";
TEXT* myText { font = myFont; }
ptr_remove(myFont);
-> myText.font now has an invalid font pointer
Just in case you're doing anything like that... you will have to update those pointers as well.