Ah, you're right, it's actually the EXIT REPEAT command that's causing the trouble. Try this in a compiled app:
x = 0
REPEAT
x = x + 1
IF x = 5 THEN EXIT REPEAT
END REPEAT
ALERT Hello there.
The result for me is that GM stops running the script when it reads the EXIT REPEAT command, thus the ALERT line isn't executed. The glitch occurs regardless to the location of the code, (as in card script, button script, within an ON EVENT condition and so on) and for some strange reason that thing happened again where the app requires OS9 to play. It happened half a dozen times or so and then suddenly stopped happening after I made changes to the code.
Now I'm more baffled than ever.