windowsで非同期イベントを使ってサーバーを書いているのですが

SOCKET client_sock = accept(...);
HANDLE event = CreateEvent(...); // マニュアルリセットはfalse
...
WSAEventSelect( client_sock, event, FD_READ | FD_CLOSE );
...
while(1)
{
 result = WaitForMultipleObjects( event_size, event_array, false, INFINITE );
 switch( result )
 {
 ....
 }
}

サーバーサイドはこのような感じなのです。

クライアントサイドで、
send( ... ); //1回目
send( ... ); //2回目
などとやると、1回目は、WaitForMultipleObjectsから戻り、正常に受信するのですが、
二回目以降がWaitForMultipleObjectsから戻ってきません。
1回目と2回目の間にSleep(10)などを入れると、二回目も正常に受信するのですが、
これはどういうことなのでしょうか?