Step/Dir Drives lose 2 Steps for each pair of Direction Reversals
From Dynomotion
Dropping Steps on direction reversals usually indicates an issue with Direction Setup Time. If the Step comes too soon after a direction change then the drive may use the "old" direction and step in the wrong direction which results in the position being wrong by 2 steps.
Ironically if the problem always occurs (both directions) it isn't so much of a problem as it just adds 2 steps of hysteresis (like backlash) and may not even be noticeable if the steps are small. However usually the rise time and fall times of the Direction Signal can have different characteristics which causes one direction to have a setup time issue and the other not. This results in an accumulation every two direction reversals.
Depending on whether the drive steps on the rising or falling edge of the step pulse, inverting the step pulse or not inverting the pulse can make the drive "step" on the trailing edge of the pulse rather than the leading edge of the pulse. This increases the Direction Setup Time by the Pulse Length Time. Stepping on the Trailing Edge and increasing the Pulse Length Time from the default 2us to the max 3.78us may further help. Newer Test Versions (ie 4.33q) have the Direction Setup Time (time before the leading edge of the pulse) increased from 0.25us to 1.92us.
Ironically if the problem always occurs (both directions) it isn't so much of a problem as it just adds 2 steps of hysteresis (like backlash) and may not even be noticeable if the steps are small. However usually the rise time and fall times of the Direction Signal can have different characteristics which causes one direction to have a setup time issue and the other not. This results in an accumulation every two direction reversals.
Depending on whether the drive steps on the rising or falling edge of the step pulse, inverting the step pulse or not inverting the pulse can make the drive "step" on the trailing edge of the pulse rather than the leading edge of the pulse. This increases the Direction Setup Time by the Pulse Length Time. Stepping on the Trailing Edge and increasing the Pulse Length Time from the default 2us to the max 3.78us may further help. Newer Test Versions (ie 4.33q) have the Direction Setup Time (time before the leading edge of the pulse) increased from 0.25us to 1.92us.

If the Drives accept Quadrature or CW & CCW Pulses then those modes may be used to eliminate any Direction Setup Time issues.
See Also:
http://www.dynomotion.com/Help/StepAndDirection/StepAndDir.htm