Sorry for double post, but I quickly tested airzonk with the tg16 driver. As etabeta said, the game works up until gameplay is supposed to start, zonk's sprite freezes and doesn't respond to controls, and no enemies appear. The level continues scrolling, and music continues to play.
One thing I did note is that on the tg16 driver, the contents of the code memory window change when you scroll it, even if emulation is paused. (This doesn't happen at first, so there's clearly some banking going on. You'll have to excuse me since I'm not familiar with the details of the pce/tg16 hardware.) If this is some sort of open bus emulation which the debugger is interfering with, the code needs to guard against debugger access triggering on-read-do-something parts of the memory code.
Another possibly telling bit is there is some constant incrementing/etc going on with certain areas mapped into memory at 0x0A2000-0x0A20FF, particularly 0x0A20A0-0x0A20A1, which halts dead when the game softlocks.
IMPORTANT NOTE: Btw, I attempted to duplicate the freeze a second time by while the debugger was open and running and looking at the mem window at 0xA2xxx, hitting 'soft reset' in the menu after it softlocked. After that soft reset, and holding RIGHT on the controller during the stage opening, the game WORKED and was "playable"*! Maybe the game doesn't like ram to be inited the way we do on start or something? (edit: no, it is coordinate based, see below)
*The game will freeze again if your character moves to any coordinate on the TOP HALF of the screen. if you stay still at start, the game freezes, but you can move for a small period of time before this and can move down to the bottom half, and the game will not crash! If you then move to the top half later it will instantly crash. Very curious.
Further testing shows this only happens when the stage 1 parallax background stuff is active; when fighting the stage boss with a scrolling but non-parallax bg, you can move to the top of the screen with no ill effect. The same crash happens on stage 2 as well.
It seems to be stuck in an infinite loop when softlocked.
Interestingly, if you set a breakpoint at 41c4 while it is softlocked, and force the 'rts' at 41c6 to execute, MESS crashes! (sometimes. I had this happen exactly once.)
EDIT: This is as far as I can go with this for now, someone else will have to take over debugging this.