If the motor got a command to move .3" and the encoder moved .2" wouldn't the software issue additional pulses to the motor?
No.
(Servo- closed loop)
What we are talking about is a servo loop. Servo means the drive or amplifier knows the position of the motor and will correct the position if it isn't at the predicted position. All this is handled in the servo drive not inside of mach. if mach sends out pulses to go to .3 and the servo drive realizes it has only gone .2 the drive will all by it's self move to the .3 . Mach just assumes that that the position is correct. It can't look and say I am not there I need to go further. Mach lets the servo driver deal with that.
(Stepper- open loop)
Stepper motors 99% of the time don't have any sort of encoder on the shaft. Mach sends go one step, the driver sends one step to the motor, the motor goes one step. As far as mach is concerned it is where it should be. If you grab the shaft on the stepper and turn it mach will have know idea that the shaft has been turned and continue sending places out assuming it is in the right place.
I guess to summarize:
Stepper can loose position and there isn't anything you can do about (as far as mach is concerned)
Servos Rarely loose position because the servo driver is keeping track of the position and if it gets off by an encoder count it will correct for it on the fly.
In a servo system you want the encoder on the motor. If you put the encoder on the mechanics of the machine if there is ANY back lash or slop in the ball screw or the gear reduction/belt the servo drive will "hunt" and usually burn out your motor.
Chad