Don't let the caller pass in MaxWaitTime=0.

This mistake is far too easy to make, and rather harmful.