Here are my changes:
20 PAPER 1: BORDER 1: INK 7: BRIGHT 0: FLASH 0: CLS
50 LET x=x+(IN 57342-mask=190 AND x<21)-(IN 57342-mask=189 AND x>8)
60 LET y=y+(IN 65022-mask=190 AND y<18)-(IN 64510-mask=190 AND y>4)
702 LET baseline = IN 57342: LET mask = 0
705 IF baseline > 200 THEN LET mask = 64
Notes: Line 20 has some sort of typo as printed in the magazine. That has been corrected (as it was in your version here). Additionally, I have added BRIGHT 0 to fix a bug that happens if you run this program immediately after running Break Space Hero, and you cannot be killed due to it being in BRIGHT 1. FLASH 0 is just for good measure. Obviously, we want to do these before clearing the screen.
Lines 50 and 60 add a mask factor, which is calculated in lines 702 and 705. It must be done after the INKEY$ in line 660, which causes the scan codes to be different. This is only needed if running on a ZX Spectrum Issue 2. Alternatively, one could hard-code the values to match if running on that hardware. People using MiSTer systems can alternatively change the keyboard setting to Issue 3 to get around the bug (in the original hardware). But this revision will work on both versions. I don't think it adds much latency or responsiveness issues either.
This is a fun little program, and I was wondering why it didn't work on my setup. I found these two issues, but my initial guesses weren't quite right about the cause. It took a lot to track down. I had fun doing so.
I think that's about all I can do to improve it.
Thanks!