I can tell you that I've never had this reported in the two years my screen's been available, and I have a LOT of users. I've never seen it happen. The fact that it happens on both Big Tex's and mine would point to something else?
Any chance you're in incremental mode? There was a bug in an earlier version of my screenset that caused a problem if Mach3 was in incremental mode, but I only had one person ever report it. What version of my screenset do you have?
Also, any chance you've hit escape and killed a running macro at some point during the day? If this ever happens, I'd recommend closing and restarting Mach3 immediately, as I've seen issues with macros after ending one prematurely. But again, I've never seen a tool plunge into the plate.
And last, if you change tools that many times, why aren't you using the automated method?
Tweakie, here's the code I think he's using:
sleep(1000) ' Pause for 1 second to give time to position probe plate
Code "F" & FirstProbeFeed ' Set feedrate to 10 ipm or 300mm/min
Code "(Probing for Z Zero.....)" ' Puts this message in the status bar
ZNew = (GetOEMDro(802) - FirstProbeDist ) ' Probe move to current Z - 6 inches
Code "G90 G31 Z" & Znew
While IsMoving() ' Wait for probe move to finish
Wend
ZNew = GetVar(2002) ' Read the touch point
Code "G0 Z" & ( ZNew + FirstRetractDist ) ' Move up .05 inch or 1mm in case of overshoot
While IsMoving()
Wend
Code "F" & SecondProbeFeed ' Set feedrate to 1 ipm or 25mm/min
ZNew = (GetOEMDro(802) - SecProbeDist ) ' Probe move to current Z - .25 inches
Code "G90 G31 Z" & Znew
While IsMoving()
Wend
ZNew = GetVar(2002) ' Read the touch point
Code "G0 Z" & ZNew ' Move back to hit point in case of overshoot
While IsMoving()
Wend
Call SetOEMDRO (802, TotalOffset) ' Set the Z axis DRO to plate thickness
sleep(500) ' Pause for DRO to update.