First get rid of all those useless Continue commands. You clearly do not get whats causing advance run stops and what not. I do not see any advance run stopping commands apart wait sec 0 and maybe dmg_in if in means input. The continues should be useless anyway because you seem to have a blank line after each continue. Continue if really needed only refers to the direct next line.
To keep the advance run pointer inside the interrupt move the wait sec to the end of the interrupt.
Why do you set spline options but do not use spline.
In general your program needs some cleaning up. If you do it like this its no wonder that its difficult to get whats happening. Strip it down to the absolute necessary and restart from there.
Fubini