Replying to my own thread because I may have found an issue. Could it be causing the corruption problems I'm seeing? No idea.
I'm working on a daily puzzle game, like Wordle, so I implemented a load/save feature.
Each time the program starts I check to see if there is a daily game to load. If there is I load it. If there is NOT a daily saved game, then I unlock my Initialization group and it, in turn, unlocks the rest of my game code.
But yesterday, I found a few groups that were unlocked when the program STARTS. So maybe the weird (and unpredictable) bugs I am seeing are caused by this:
1. I check to see if there's a load game available
2. If so I start to load the game
3. Meanwhile, my Always events are setting variables, moving sprites around, etc.
4. The load finishes and the game starts
In other words, as I'm loading the saved game, my code is doing all kinds of work at the same time... possibly even saving the game. Could this be causing a conflict? I'm not sure.