Your macro M889m1s does not "Call SetDro(802, ??) until the very end of the macro. When it resets ZNew to Var(2002) I suspect that it is not finding Var(2002) or Var(2002) is not behaving like it should. 'read first touch point an 'read the touch point.
The Chinese macro that I modified to do double probe such as yours resets Dro (2, GageH) It sets GageH to the value of OEMDRO(1001) That may be the difference in that it is changing Dro(2) rather than Dro(802). The Mach3 macro programming reference calls oemdro 2 "pulse Freq."