I don't think your machine is losing position. Thermal expansion of everything, not just the tool holder and spindle nose, can easily add up to .003. High end machines have liquid cooled spindles and liquid cooled ball screws. They will also do a warm up cycle to get it up to temperature before starting. Even so if the shop is cold on Monday morning and heats up throughout the day as all the machines start working then tweeks have to be made.
If you need that level of precision you will need to stop and reset the Z0 in the middle of the cycle. Just add an M1 before the finish pass and turn op stop on.