IAN, what IF we set up a brain to monitor the DRO/encoder like has allready been done. BUT instead of tripping a stop we write a macro to do a controlled stop, record current line of the program. RefHome the axis then return to Currentline minus say 10 lines then" run from here" to restart???
Might be a poormans closed loop ERROR recovery system

We already have a brain to do cruise controll to monitor spindle speed and regulate Feedrate based on RPM drop.
EMC does run in a realtime kernal so all its I/O is realtime. Mach runs in a Buffered system, once the buffer runs there is little to no interaction to the pulse stream.
Heck even the old DOS could run realtime. I think that the old dos made a good controller inside of the mem limits.
AND there IS a Windows RTK but it is very expensive from MS
I don't think EMC does realtime corrections it just closes the stepper loop LIKE it does with a servo. It doesn't really matter where you close the loop as far as position controll.