well there is never a "perfect" 50 mils, it's gonna be very close, probably more like 50.43296 ms, but you can't tell the diffrence! so don't worry, and i don't belive that the code stalls to execute, it just runs what it need to run , but then again you could always test it to make sure...
He's talking about the microsecond delay function though, so being off by 0.432ms, is about 800% off.
But when you say "truly delaying for 50 microseconds" there is no such thing. You have a finite level of precision in any timing device.
In this case, the answer in the documentation is "This function works very accurately in the range 3 microseconds and up. We cannot assure that delayMicroseconds will perform precisely for smaller delay-times."
I would hope that for values greater than 3uS, it will get you within a uS.