According to the downloads page the latest LOCKDOWN is R3.043.022 so that's really the latest anyone should be using if they want the best available stability.
I suspect the problems are related to the SendSerial command rather than the macropump per se but let's see. (I've had problems with SendSerial before - it really is rather p*ss poor

There's really no difference between Terry's earlier version and mine except mine attempts to split things into the three parts needed for (semi)minimal use of the serial line and the macropump. i.e. that which only needs to sent once only - the cursor off command cos that's stored by the card in EEPROM. That which needs to be sent once at the beginning of each Mach session - the display size and the X,Y,Z and A labels. And finally that which needs to be sent continually - i.e the actual changing values.
Terry's get's the positioning right by padding and using line-wrap wheras mine positions the cursor appropriately and then sends the DRO values.
Anyway - let's see if we can figure out if this is a macropump issue or a SendSerial issue.
If you're using my version then just replace the macropump code I posted above in reply #16 with this:
message _
"X: " & Format (Getdro(0) , "+000.0000;-000.0000") & " " & _
"Y: " & Format (Getdro(1) , "+000.0000;-000.0000") & " " & _
"Z: " & Format (Getdro(2) , "+000.0000;-000.0000") & " " & _
"A: " & Format (Getdro(3) , "+000.0000;-000.0000")
This will display the same DRO info on Mach's status bar instead of sending it down the serial pipe.
If that works - which it does for me on the latest LOCKDOWN then we'll cast our suspicious eyes back at SendSerial.
Cheers
Ian