You are right. The default behavior in Windows is to block. However, it appears that this is not really a block for 16-bit apps as the message loop stays running, so the code can be re-entered somewhere else. However 32-bit apps hang the UI... Pretty interesting.