Hey Sam, I did see this and felt your pain as well. The macro I have been using for a couple of years quit working one day after doing some testing. My self and many other posters in this topic will be kicking their self I'm afraid. It will be as plain as the nose on their face I think. I will give 1 hint................ SLEEP. LOL Tunnel vision can be a b*h....

If you will, try the below macro and let me know how it does. The VB in Mach is running faster now so the sleep command will be a necessity in a lot of cases now.
Brett
'Auto tool touch off button script
Code "G90 F" &ProbeFeed
If GetOemLed (825)=0 Then
Code "G4 P2" 'Time to get to the z-plate
Code "G31Z-5 F" &ProbeFeed
Code "G4 P0.25"
While IsMoving()
Sleep(100)
Wend
ZProbePos = GetVar(2002)
Code "G0 Z" &ZProbePos
While IsMoving ()
Sleep(100)
Wend
Call SetDro (2, PlateThickness)
Sleep(100)
Code "G4 P0.5" 'Pause for Dro to update.
Code "G0 Z0.25" 'Change the Z retract height here
Code "(Z axis is now zeroed)"
Code "F" &CurrentFeed
Else
Code "(Z-Plate is grounded, check connection and try again)"
Exit Sub
End If