The ideal would be to count PC pulses to the driver, driver pulses to the BOB, BOB pulses to the motor.
When compared they should be darn close. Not the kind of electronic device you will find even in pro shops.
The one my friend brought over once was custom made for his workplace and measured to a few counts / parts per million.
Doing that confirms the electronic end of things and leaves no doubt as to what the culprit is.
Downstream of the motor a calibrated device is used to compare the mechanical motion and that is compared to Mach's DRO and maybe even another independant reference such as an axis readout. With that you have comparison of electronic to mechanical motion.
The mechanical motion of each axis can be isolated and checked and related.
Now we meticulously did the above once...in fact it was done to my lathe before using it to find a fix for the lathe threading cycle.
In general the pulses the pc sent were way within the pulses the motors received. Different motors provided for different linear motion / accuracy. Belt tension could and would affect linear axis motion. Same for timing gears. All screws are different and forward and reverse motion of the screw may be different, especialy if they are rolled. There is always some lost motion due to thrust bearings, manny times
overlooked and just lumped in with all the rest of so called backlash, but it is real and just a component of the whole. Mach's DRO readout,
at least on my pc, was superb.
Sorry, more later, dinner is served......
RICH