Thanks for the reply.
For now I am using a timing belt to drive a pulley in place of the handle on the rack/pinion Z axis on the little X2. Down and dirty, but it got me running quickly. I looked at available retro fit kits for the X2, but the X2 has no quill, so in order to be useful for tapping, the ball screw would have to have a quick release of sorts and I didn't find any with such a feature.
The table has ball screws and the steps work out to 20,000 and I have not noticed the same issue . . although those motors are NEMA23 so that is another variable.
I have finished a quick release design for the Z axis ball screw so I'll be converting that soon and it will also be 20,000 steps. After that the problem will likely go away, but I'm still lacking an answer as to where the problem comes from. Is it the Gecko, Mach3, the motor? Is it solvable, or is it just intrinsic to the method used to calculate microstepping?
My understanding is that the control software (Mach3) simply sends steps and the Gecko (or other drive) is where the pulses are totalized and the microstepping is calculated. Maybe I have that wrong.
If this is intrinsic to stepper motors, that would be a compelling argument for servos.
I'm planning to sell the X2 at the end of a current project and launch into another CNC conversion using an X3 . . and perhaps servos.