Events are not paused when you set timescale to 0.
The easiest solution is to add this condition to all such events:
System Compare Two Values: timescale>0
Isn't debug mode's pause just setting timescale to 0? I'm pretty sure it pauses wait actions, for loops, etc.