My theory is that there's a session leak, either in the control itself or in the way I handle various failures when two sims try to access the same file for example. A session or two leaks, and since our FTP server only allows 2 sessions per IP address, the third session hangs and starts timing out. It shouldn't do this, but perhaps the control doesn't know how to handle this specific return code or similar. The "hang" effect is FTP session operations timing out. I have two time out timers going for FTP operations that take too long, one built into the control itself (Inet.StillExecuting) and one I built myself using a separate timer control. I loop waiting for .StillExecuting to go false, handling events in the loop. Sometimes the control just never comes back I.e. StillExecuting never goes false. I time out myself and try to cancel the operation, but if the control or server isn't listening... that is when you see the "Still Exceuting previous operation" message.
I'll try playing a little with error handling. Once we move to another server which allows more than 2 sessions per IP, things may suddenly get better or not. I hope to fix this specific issue, but we are going to need to write a server and build ourselves our own protocol at some point if we ever want to scale this up large...