Fast moves create grooves in part only when program zero is above stock height

So the part I want to machine is 94mm in height. The geometry zero is at the bottom of one corner, and I want to set the program zero at a set height 100mm above it (the geometry zero) as that will make it easier to set the tool to the zero to start with. The problem is that when the program zero is set to above the height of the stock (e.g. 100mm), any and all rapid moves in the program result in deep grooves in the top of the part in the simulated output (as if the tool is not going up far enough to do the rapid moves). This happens independent of what the retract height is set to, and the grooves in the top get deeper when the height of the program zero above the stock is increased. It does not happen when the program zero is set to the bottom of the stock (the same as the geometry zero in this case). It seems to be a unique thing to do with having the program zero above the stock, but I cannot think why this would be the case, it seems the opposite to what I would expect.

Image: the simulated output from this effect, with an extra-large retract height so the actual height of the paths (the red ones across the part) do not seem like they should cause those grooves

Does anyone know why this is happening? Or whether this is likely to actually do what the simulation says it will do in the machining?

I’m new so it would only let me post one image, this one has the same toopath settings, but a higher program zero resulting in deeper grooves in the simulation, the retract height is not as high in this one

Huh. Rob can probably help here…
@robgrz