TCPClient or .NET sockets should work. if you use it properly then it should be fine. since what happens is service waits for a while to complete the thread.
so u can have a form like this.

open a thread in the form finish the thread and in that thread open the form. note here form object should be public. and make that open.. so it won't distroy..

Paresh