Thanks for your reply.
It is a MEZ 3 phase motor, which has a running speed of 705 rpm. I have put a vsd on it, which I have set to 40 hz, but as a test I could half it to 20 hz and see if I am getting more consistency.
Also just to note, if I tell the machine to go to 200mm like my original example, which should be 41334 pulses. when it stops, the pulse count is in fact 41334, correct me if I am wrong but I was thinking if it was due to the motor not stopping bang on in this position, then the encoder count should not be equal to the desired count? I would imagine the encoder count to be out due to the drift on the machine.