Sounds to me more like your losing "steps" on your z axis. The steps I'm referring to is the number of revolutions the motor takes to move an inch or mm. If not set right the axis will drift. Let say it takes 2000 revolutions
to move an inch but machine is set at 1900. Even though the program is right and the controller simulation is right the part could never be right.
In WinCNC software that information is in the INI file. I never heard of WinPCNC but I'd assume your going to have some type adjustable setting file.
A way to check is to use a drop indicator (more travel the better ) in the spindle. Touch the table, zero out indicator and incrementally drop z-axis (-.100,-.700,-.150,-.525 etc.). Does the movement correlate with the input? Test the movement over your full travel. Up down, up down. Just be sure not to smash your indicator into the table.
Just an idea. Could be you just need to grease the ball screw. Or your Z-axis could be faulty. Could be the servo control. Or maybe even exaggerated backlash compensation. Your just going to have to do some detective work to figure it out. Based on the tool path simulation looking OK I believe it highly unlikely ArtCAM is causing your problem. It's crazy how accurate the ArtCAM simulations are.