I don't know if it would apply to your system, but I have found that when writing and entering a program that has errors....funny things can happen.
One such thing that happens on mine that hinders me is once an incorrect program errors out, then changing the program, hitting reset, and zero returning my turrets, doesn't make the machine completely reset.
An example was a program that appeared to run normal but would move to the cutting position and just stop there. I would start over change the program, reset, re zero...just to have it do it again. So next thing that "should" happen is the coolant should come on. So just to be a smart ass I push the coolant button for the active turret.....walla the lathe continues the program as long as I hold the coolant button down. Then stops again....let off the button (program had advanced to the M9 command) and it finishes.
Figured that out with dumb luck and realised that I had fought it before. If I gave up and shut the machine off, then the next time I tried it (maybe days latter) everything worked normal.
So somehow the control got the on/off relay commands for coolant reversed when some error occured (it was never an error in the M8,M9's) that
did not reset with the reset button or with zero returning the turrets.
These machines are not simple/quick to shut down like a normal lathe, but if you enter code that errors out and then odd things happen, shutting the machine completely down and restarting may be a good idea. It was a lot of head scratching for me as no code displays and everything seemed normal and the lathe would just sit there and run and of course I thought I had something wrong in the code.