As you've found, you have to set your feedrate high and your accel low otherwise you can't see what's happening. (It's still happening - you just can't see it). Here's the settings I'm using to show this issue. I use the X axis but it doesn't really matter because it's best done offline if your machine can't actually take the velocity value below.
Max velocity 15000mm/min, Accel 62.5mm/s/s (the lowest I can get Mach to take at that vel). Then run this:
F15000
G31 X5000
M666 (just displays var 2000 i.e. message getVar(2000))
M30
Now if I let it accel and get to approx X=1000 and then trigger AND HOLD the probe, Mach will start the decel ramp and eventually stop around X=1500 or so. The value in var 2000 is correct i.e. approx 1000 i.e. where it was first triggered.
Now do the same again but at approx X=1000 trip AND RELEASE the probe. Mach will again start it's decel ramp but when it stops the value in var 2000 is approx 1500 i.e. the same as the X DRO i.e. where it's come to a stop.
You can do this with no machine "attached" and you can either use a real probe, a switch or even with the keyboard using probe emulation.
Ian