You can fake it, (make it look like the paused script resumed), but you can't actually resume it.
Split your script into two parts. Part one goes from the script beginning to the point where it pauses. Part two picks up after the pause. You may need to store data in variables or global fields to capture the state of your system at the time the first part of the script ends and this can get tricky but it can be done.
Thank you for this suggestion, but splitting the script is exactly what I was hoping to avoid as that would require turning local variables into globals (or some equivalent) that would reduce the portability of my script.
use $$variables and the values will persist for the second script to reference.