We have a machine that uses a Wincnc controller. X Y and Z are all Servo motors. My understanding is that each servo has a indexer on it to relay position back to the controller. Maybe I got this wrong or it only really works on more expensive controllers. When a servo crashes, the program keeps going as if nothing had happened. Does the controller know the motor it not working correctly and is simply not relaying that information to the wincnc program on the computer? Or is the computer just blindly sending gcode to the controller. Ideally what I would expect from a controller with indexers is for it to keep the position of the last known indexed signal. Instead of telling me that it's someplace it isn't. Another would be for it to stop movement and turn the spindle off. I could see that would be in a configuration.
Unless you have a fault signal from the digital servo positioning unit to communicate back to the wincnc controller, you have an open loop system running a closed loop system. if there is a way for your dsp to send fault and move complete signals back to wincnc then it should be possible to stop the controller.