According to http://support.microsoft.com/kb/156932 there are conditions under which an asynchronous Disk IO operation may complete synchronously. Is this only applicable to Disk IO or can similar conditions apply to Network IO?
UPDATE: i've tested this now with the debugger and have verified that 1) if there is data in the receive buffer the operation will complete synchronously 2) the IOCP will fire a callback regardless.