We ran into this annoying blocking behaviour too and had to switch to overlapped I/O. The bug had been there for years, but I was the first person to try to use the software in question in a way that caused it to matter... (Or at least, if any of our customers beat me to it, they didn't say anything about it not working that we can remember.)