Is your Z axis calibrated correctly, and not gaining/loosing steps?
I'd double check the calibration, then mark the z-shaft, create a program that runs the Z up/down a hundred or so times, and check it's returning to the same mark.

If that reveals nothing, try modelling and machining a simple stepped block, to see if it's a fusion or machine problem.
While machining pay attention to where the mark on the shaft is at a known position, then return to that position at the end to see if anything has moved.