Hopefully without jumping into the frey, I just wanted to point out a detail that is missing on re-tapping the same hole.
In addition to having the spindle at the same starting point (not necessarily azimuth 0 or index, but the actual starting point from which that particular hole was tapped). you need to have the Z at the starting point for that particular hole also.
This is not too bad if you have only a few holes at the same elevation, but can get complicated with a lot of holes at different elevations or a string of holes done with relative moves.
In my 'rigid' tapping macro, the retract amount is also a consideration because I allow any retract value (to clear obstacles in moving to the next hole) as a parameter passed to the macro. Since the retract can be any value, the macro has to determine if the current Z is at the retract height and accommodate that space in the next Z move prior to starting the next tapping motion.
In my setup, I have the choice of homing the spindle before each hole, but I found the cost in time to do this is too great in contrast to the benefit of being able to re-tap old holes. holes tapped too shallow are typically discovered at assembly and in practical terms it is much cheaper to hand tap the hole deeper or spec a shorter fastener (if possible) than to run the part back thru the CNC process.
Whether there is a tool changer and whether the tool holders have drive dog also plays into the 'sync' equation. Assuming the spindle homes before each tool change and the tapping routine returning to the starting azimuth for each tap sequence, the spindle will retain it zero reference during any tapping run regardless of how many holes are tapped. With dogless systems like Tormach, your options would be greatly reduced and you could only reliably re-tap (assuming a spindle home is done after picking up the tool) until the next tool change. When that tool is retrieved again, there is no guarantee the azimuth will be the same , so homing the spindle again will NOT necessarily return the tap to the same starting point.
I think everyone agrees that blind holes are the Gorilla in hard tapping. In practical terms it is often doable to simply drill the hole an amount deeper than the required threads to accommodate the variation posed by tapping heads, VFD's and perhaps even the occasional programmer screw-up, but it is undeniable that exact control of the Z depth is the holy grail and the only method (other than thread milling) to provide safe 'bottoming' type tapping. My tapping macro stores the current acceleration parameters and then maxes them out for the tap operation and then restores them to the original settings. My experience has shown that normal acceleration settings (and mine are already much higher than most) are not adequate for rigid tapping with small taps. 'Stop-on-a-dime' performance has been mentioned. Taps smaller than 1/4" or M6 need 'Stop-on-an Insect' performance . . . and a small insect at that.
Love the clutch idea, but it seems that would defeat any ability to go back to that hole for a re-tap. To prevent broken taps (my nemesis, incidentally), my plan is to use the torque control I/O on the servo drives to set the max torque below a certain threshold depending on the tap size. In this way, the drive would stop prior to snapping off the tap and would fault the system allowing for a change to a new tap without having to then dig the old tap out of a hole. This method would also protect against a spiral tap from becoming a permanent part of the workpiece if it snaps off due to being bottomed in a blind hole.
A lot of the above comments would not apply to the high end machines being debated, but considering the typical machine running MACH software, I'm hoping the information may be useful to the few who have servo powered spindles.