If I am not mistaken, Mach 3 cannot do rigid tapping correctly the normal way that would be output by a Cam software. I use Sheetcam and it produces nice rigid taping code that Mach 3 should be able to use.
The issue with mine was that the spindle started turn prior to the Z axis moving up.
That would mess up the threads.
I have a subroutine that I use on my Torus. Got that from John.
It is adjustable for different taps, depths, speeds and pitches. It works great. Syncs up the spindle and Z perfectly.
I generally tap at least a few holes, so using sheetcam to generate the initial tap positions also helps. So, I use Sheetcam and the subroutine in conjunction.