Paul,
>This is the sort of thing I was thinking of. I'll have to give some thought as to whether my app should sit and observe the status of the job or whether it should be poked into action from the component itself.
You could run your email and faxing components on a server and use MSMQ to send the job requests and return the result. Your app can fire off many requests without having to wait in line for each to complete. You can then check a results queue to get the status of each request.
http://msdn.microsoft.com/isapi/msdnlib.idc?theURL=/library/techart/msmqwvfp6.htm