I haven’t been able to try your code yet, I hope to be able to try it tomorrow.
I don’t think there is a physical issue, the coupler doesn’t pull off the z rod when I try to adjust it manually holding the other side. The rod moves fluidly through the nut when I turn it by hand, and there is no place where the router would hang on a bolt or anything.
I don’t mean to imply that my code is not the issue. I even imported the code into libre office calc (the excel clone) to sort the F speeds looking for any that might be out of line, but I couldn’t find any that were too fast or anything. Are the speeds that I have set based on what you’ve seen too aggressive? I would be glad to slow it down more if I could get consistently successful cuts.
The issue always seems to come up after the Z axis rises out of a cut to move to a different part of the tool-path. It doesn’t always happen at the same part, but it doesn’t seem to happen along a cut only after it has moved.