Ok, finally fixed everything. The trick with this kind of problem is that even if debug info is not allowed, if it crashes, you can track it with a debuger and with enough patience you finally find the cause. There were actually 2 problems here :
1) a very very old bug, there is an array for layers and layers priorities in cps1/cps2, so I reserved 3 members for these 2 arrays since there are 3 layers. Except that sprites are seen also as a layer in this driver ! So I needed 4 spaces ! And why did it crash just now ? Apparently because gcc decided to change the way variables were allocated in this version for win64, before it was harmless, I don't know where it landed but it was unnoticeable, and with this change from them, it became the end of the world !
2) a very optimistic speed hack module, that's why save games were crashing sometimes. It was storing the data it needed in the save by assuming variables were allocated in memory as they appeared in the source. It's clearly not the case anymore in the latest gcc, and anyway it's a bad assumption. So I moved everything to a struct and now this bug is gone too ! (I don't guarantee old savegames using this module will be compatible, it's used at least by cps1/cps2, but not only).
So finally gcc was not guilty, it just allowed me to find some old bugs...
Now I am a little tired so I don't promise a release just now, but it should be good for tomorrow or maybe a little later... !