The game crashes as soon as you get the last cross. This happens because the interrupt table is being overwritten due to the fact that a value is being loaded into the incorrect register pair. The line "$db85: LD DE,$5a84" should be "$db85: LD HL,$5a84".
Fixed using POKE 56197,33
Modified "BUGFIX" file provided by FrankT.
Originally planned to be released full-price on Ariolasoft's Viz Design label. Eventually published on budget by Mastertronic a year later, after Ariolasoft went under.