I get that you will have to miss a lot of steps to see a difference, maybe you didn’t build your custom controller well, or there’s an intermittent short going on due to stray piece of saw dust… who knows, but as my kids like to play with me, “Would you rather…” have a test that can show you have a problem under some circumstances, or not have the test at all.
My personal experience tells me it will continue without an error condition (other than sled not keeping up), and though this may be a long explanation, I think it’s helpful at least to document what’s going on for posterity. When working on the four motor design with external encoders, I’ve had the situation where the encoders have bound up (don’t turn) while the motor is turning. This is equivalent to having the encoders disconnected (no changes coming from the encoder). When this has happened during a move, the motor that has the faulty encoder signal runs to full power for a period of time but then stops… and how long it takes to stop depends strictly on how long of a move you sent.
When you send a move (either a coordinated move of all motors or a single axis move of a single motor) it divides the movement into a series of steps based upon the PID loop interval (10,000 us) and the feed rate of the move. After each step is completed, the PID controller recomputes and adjustments to the PWM duty cycle is made. When all the steps are completed, an “end move” is performed that sets the PID setpoint to what the target was and therefore, PWM duty cycle goes to zero and the motor stops.
So, if you do a move of say 2.5-inch with a feedrate of 30 inches per min (0.5 inch per second), the total time of the move is 5 seconds (I was wrong earlier about RPM having an affect, its the feedrate instead). When the PID controller recomputes after every step, it thinks that the motor hasn’t moved because the encoder value hasn’t changed and therefore increases the PWM duty cycle… it continues to do this every step until PWM is 255. After 5 seconds, when the time is up, PID setpoint is set to the target and the PID controller sets duty cycle to 0 and motor stops.