if it helps at all, it hangs when the program (a client application) makes a connection to a another application using a socket. No errors get thrown up and it still manages to send out data as if it was working normally. But just becomes non-responsive.

Tried adding a timer to run application.doevents but that doesnt fixed it.
Have error trapping in nearly every procedure but nothing is being flagged up.