The great "battle for eternity" glitch has been slain by the mighty code warrior! (Moi.) I propose a banquet tonight.
For anyone interested, I didn't see many problems with my previous code. The only glaringly obvious thing that
might have caused problems was an
obj_enemy where I should have used
self. (Of course, this was IN the obj_enemy instance.) Then to be safe, I added more thorough checks for the end of the battle, and threw in an object that isn't satisfied until the victory screen has appeared before it detonates itself. One of those things seems to have helped solve the glitch, as I haven't had any problems when trying to purposefully set off the glitch.