A escassez de ram pode causar isso também, de acordo com as pesquisas do Google, entre outras coisas. Uma condição de erro que observei através do Google em encontrar alguns dos problemas abaixo foi a falta de memória, onde o sistema operacional base tinha pouco acesso à memória RAM. Meu palpite é que o mesmo tipo de problema poderia ser facilmente recriado em um ambiente virtual que é carente de memória RAM.
Uma questão de solução de problemas mais básica é bem simples - o que é diferente em seu ambiente de produção?
Você testou o aplicativo no Windows 2003 x64 ou no Windows 2008?
Na segunda parte das suas perguntas.
As ferramentas a seguir podem ser usadas para solucionar problemas e corrigir erros de Winsock.
Sniffers:http://www.wireshark.org/
Calços:
http://www.sstinc.com/winsock.html http://www.win-tech.com/html/socktspy.htm
Ferramentas para fins gerais para rastrear o status e os recursos do sistema
http://technet.microsoft.com/en-us/sysinternals/bb896653.aspx http://technet.microsoft.com/en-us/sysinternals/bb896645
Ferramenta para detectar as chamadas da API
http://www.apimonitor.com/ http://www.nektra.com/products/spystudio-api-monitor/
Depuradores
http://www.ollydbg.de/ http://www.immunitysec.com/products-immdbg.shtml
Ferramentas de reversão ou descompiladores
http://www.hex-rays.com/products/ida/index.shtml http://www.hex-rays.com/products/decompiler/index.shtml
Seu IDE e compilador padrão
http://www.microsoft.com/visualstudio/en-us
Aqui está uma lista de outras ferramentas:
http://www.sockets.com/devtools.htm
Outras referências encontradas:
link < ---- Provavelmente o melhor