What I 'think' that could be going on here, is that when we restart (or possibly a better term 'reenter') GPSapp, Hijack refreshes the screen, but the application itself doesn't know it is back yet. Some of it's code might even be swapped out and we're waiting for the disk to spin up.

We're blocked in HIJACK_WAITMENU, and once gpsapp is woken up the first thing it does is HIJACK_BINDBUTTONS, and then HIJACK_SETGEOM. When we start up the first time, the screen isn't redirected until we set the geometry. But if this is the second time around, you might be looking at a stale image and your button presses really are going to the player because technically gpsapp isn't in control yet.

This is just a theory, I would have to dig into the hijack code to see if this is even remotely possible. I could add a special 'Waiting' screen right before we give up control. That way if my theory is correct you should be seeing that when gpsapp is reentered before it takes control.
_________________________
40GB - serial #40104051 gpsapp