XP, I believe, has a built in firewall.
Any "Pro" has IIS.
if you have XP Pro or 2000 Pro, there is a hack you can do to trick XP Home into using it. You need to google for "xp home IIS" or something like that. I had my xp home system running as a lite server for a while to test some things out.
What would you want to do that you would want to run a windows form project from over the internet?
You cant actually RUN the program on your computer. If you typed in your browser
www.sitename.com/progs/myApp.exe it would attempt to run the app on the browsers computer which would fail about 9999/10000 times. Youd have to have .net on your own computer (the browser/user) and have to do some serious administration work to tell it that X build of X program is okay to run like this, over the network/internet/intranet. Now when you rebuild it, you have to change this setting each time telling it the new build/app code, which is generated uniquely each time you build.
You can do this on any website from yahoo to brinkster to tripod. To the server, its just downloading/uploading a file.
To actually RUN it on the server, you need a script or something on ther server side to tell it to run. Like an ASP.Net app starting the apps proccess, or something else (I dunno, asp, perl, javascript). Now Im sure a professional server worth their salt has a lockdown on this really happening, or on their permissions. I can see it working with ASP.Net to a degree because ASP.Net uses .dlls and theyre technically executables from what I gather.