When I attempt to write a file to the server using the PUT verb with WinHTTP like this: http://msdn.microsoft.com/en-us/library/aa384105(VS.85).aspx
My Windows 2003 server returns the header:
HTTP/1.1 501 Not Implemented Content-Length: 0 Server: Microsoft-IIS/6.0 X-Powered-By: ASP.NET Date: Sat, 12 Dec 2009 11:31:14 GMT
I suspect that IIS needs to be configured?
Yes, IIS6 does not have PUT support out of the box, you need to enable the WebDAV extension.
There is a nice post explaining how to do that here.