Ok, so I've finally found out what was causing the load-game crash on some devices - I couldn't believe it: if you read word (/long) from odd addresses in the native code, it works just fine on most phones, but it crashes on some older CPUs (no exception thrown, no error message, it just quits the app). Just sucks.
If I hadn't remembered the "odd address guru meditation" on my Commodore Amiga 15 years ago, I wouldn't even have thought about it.
I've also fixed some more stuff (joystick etc.)
This "quest for compatibility" is really getting endless. It took me just a week or two to write the whole emulator thing and get it working on my Nexus one, and now it takes forever to make it compatible with all the devices I've never heard of.