I think I've got it. The decimal thing seems to have something to do with the AND, OR and EOR. This solution works. The user DRO stops and stays put when the LED goes out. When the LED re-lights the user DRO changes to zero then when movement starts, the brain matches it to X position. That behavior is OK.
What I'm trying to do is create a function that takes the torch back to the last point that the system had a good ark OK signal. I'm not sure how to handle the G-code yet or if it's even possible. The problem is that if the THC goes into anti-dive mode, it waits 3 seconds for the voltage to come back into range. It it doesn't, it shuts the torch down, which causes the arc OK LED to go out. When mach sees that the arc OK is lost, it pauses the program until it sees a good arc OK. Problem is that if the torch shuts down in the middle of a command, like the mid point of a circle, the torch shuts down, but mach completes the current command. The result is that half the circle is left un-cut.
When you rewind the program, you can't rewind and run from the beginning of the last command because you would be cutting air and the THC would shut it down. You have to somehow rewind and run from the last known position
where the system had a good arc OK signal.
It happens so infrequently that it's hardly worth the effort, but it's a challenge and something cool if I can get it working.