I think the client should be able to handle the server not sleeping. In the wild it's impossible for the server to know how much to sleep since it will depend on both the network connection and which client it is. Also, the client should work with non-pike servers, which might not sleep.
Is the problem that not all the data is submitted to TCP/IP, or that the client somehow aborts before receiving it from the IP stack?