I'm not totally sure but I think if you jump part way into gcode from a cold re-boot it might not carry on correctly as feedrates may not be set (they may have been set a few lines earlier) and some gcode lines may only contain the minimum commands assuming the previous ones have just been processed. I have tried to jump into gcode previously and have various problems, although can't remember specifically what happened.

I know this doesn't apply to long 3D work, but all my jobs are split into short gcode operations, such as drill a hole, profile a shape, etc. If something goes wrong I can hit e-stop and rewind to redo that specific operation.

If I can't machine the complete part in one session I jog (MDI > g0 x0 y0 z-20) to X0, Y0, Z-20, then switch off. When I quit mach3 it asks if I want to save the fixture, which I say yes, but it never does so on the next session I set the coordinates to 0,0,-20 (local coordinates, not machine coordinates) and I'm ready to continue.

On really important work I've fixed DTIs to the X and Y axis, positioned at -10,-10 relative to the origin of the part to be cut. They are out of the way for normal machining, but if it all goes wrong I can jog back to 0 on the DTIs, set the coordinates to -10,-10, and re-run the code.