Someone updated .Net Framework on Win2003 server (required for another app). Unfortunately didn't check existing IIS sites and their requirements so it broke a custom c# web site. Uninstalled without error in the OS, but website still 404ing, reboot and iisreset didn't fix it.
"%systemroot%\Microsoft.NET\Framework\VERSION\aspnet_regiis.exe" –i
Then iisreset. All good :)
Read about it here http://msdn.microsoft.com/en-us/library/k6h9cz8h(v=vs.80).aspx