What kind of machine?
Might there be some sort of G52 or G92 involved in the programming that is not being cancelled or undone correctly?
Are all the operations taking place at the same work offset? This is why it is usually a good reason to zero out any work offsets that you do not have actual use for on the machine with the current setup. That way, calling a work offset that is all zeros will likely position the machine way way off the part/fixture datum and you'll know why.
First you get good, then you get fast. Then grouchiness sets in.
(Note: The opinions expressed in this post are my own and are not necessarily those of CNCzone and its management)