I have made a custom OPC server that was getting it's data from polling some TCP server in 2008 with Delphi. It was an application that should work for months on Win2K3 server without interruption. Originally I have used AsyncPro TCP client, but after about every 2 weeks server crashed. I traced the problem to AsyncPro memory leaks. Then I have rewritten everything to Indy, and it was better but not good enough. Server crashed about every 2 months. Then I changed to Synapse. No problem ever since. To be fair I must repeat that it was 2008, and things may have changed since then.