But why cant the software do this. It would be a great improvement to an already amazing program. Remember the better our tools get, to better we get. Most of us don't use servos and having software that would add one more level of accuracy to our builds narrows that gap ever so slightly between us and the pros.
Let's look at this the other way around. Why SHOULD the software have to do this for 3 -6 axes simultaneously when servo drives are perfectly capable of doing it? All this idea would do is load the CPU more; there would be no significant improvement to the machine operation.
There is also the problem of the amount of I/O traffic involved. You would have to feed the optical encoder signals (for non-steppers) back to the CPU for every axis. That would make the interface enormously more complex - for no gain. Why do that? (Could Windows handle the Real Time load? I doubt it!)
Would transferring the compute load from being distributed across every servo drive into the CPU make the system any better? Nope. We KNOW that the current approach, as used by nearly every CNC machine and robot system out there, works excellently.
To suggest that 'Most of us don't use servos' is actually misleading. If you don't use servos, what are you using? You would have to be using steppers, and ger21 has already answered that one completely. Increasing the amount of computer power used is NO substitute for having a properly designed and configured hardware system in the first place. That means having motors of the right power.
As far as I know, most stepper systems do NOT provide any feedback to anywhere - unless they have been built with encoders, which seems unlikely here. After all, how is a stepper system going to use the output of an encoder? Either the motor has the torque to step, or it doesn't. So what could a typical stepper system tell the CPU? Nothing. Don't get me wrong: stepper systems are fine - I've used them myself. All I used was a Home flag.
Cheers