I could never get invoke_result to work with a long-lived process. Is it designed to work this way? So you just make a call to:
results = myServiceReference.InvokeResult(args)
and just wait? This does not work when I try it using a .NET web service call.