understood but that will not help you.
When you call While IsMoving() Wend that While statement will be skipped if not moving. If all axis are stationary then when you get to that line of code it will pull a False, skip it, then move to the next line. If you really want it to wait then you should use WScript.sleep(500) half second pause. that will wait.
But this is also code, this runs Very Very fast and very accurate. and Arduino at 16Mhz can process each line in less then 2 microseconds. I'm not sure if mach uses your computers processor speed or not but that's in GHZ. My PC is at 4.97GHZ, So thats nano seconds.
But on a coding line, to make a variable equal to a already stored number, wouldn't need a delay to update. Now maybe wile updating the DRO or something visual, that may take some time and you may want to pause. Even a really long math equation wouldn't need a delay, the computer will not go to the next line of code till the current has been completed. Back to the visual update, a line of code may send a Msg Box out and not actually show till another 27 lines of code have been processed. so yes a pause is needed at times but for a variable to get a value I dont think one is necessary.
Not to rain on your parade and I might be wrong here but its what I understood and I don't think that line will benefit you their.