We've had some problems on our Windows 2008 servers integrating with a third party web service. The exceptions we got were...
WebException: an unexpected error occured on a send.
IOException: authentication failed because the remote party has closed the transport stream.
These errors wouldn't occur on Windows 2000 or 2003 boxes but popped up on all our 2008 installs. Turns out security is managed a little differently on 2008 and if the partner website is really strict with authentication you need to override the authentication mechanism.
ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3
It's only line of code but it's worth understanding the back story a little better. Here's the blog entry that pointed me in the right direction.
http://blogs.msdn.com/carloc/archive/2007/02/13/webclient-2-0-class-not-working-under-win2000-with-https.aspx