Good stuff - nice to know that that was the problem! One of those things that can really worry you but with a trivial fix - once you know what it is... I lost a lot of sleep over that one when it happened to me, until eventually I discovered that the error was exactly equal to the size of one microstep times number of direction changes (I think, with apologies to m_c if my memory is playing tricks - I think I only lost one step per direction change).