Thanks stirling, condescension aside, you did give me the answer I've been looking for the whole time. It was the 'probe' function. That seems to be the only input it will accept without causing a 'Reset', and that's the question I've been asking all along. I was able to use your example, with a few changes and it is working perfectly from a button.
If anyone else is interested here is the working code:
Code "G31 Z-100"
While isMoving()
Wend
DoOEMButton(1010)
Code "G0 Z0.248"
While isMoving()
Wend
SetDro(2,.750)
You'll have to change the .248 for your touchplate (.750 - touchplate thickness). I used the Mach3Screen program and changed the 'Load Material' button to 'Touch Top', then set it to a 'vbscript' button and copied this code into the vb screen.