Yeah! had the same problem today. Really weird.
Got this line of code in one of our .ASP pages
Double checked, triple checked, quadruple checked. This virtual definately does exist, the code works fine on our live server which is exactly the same build. ( Win2003 / IIS6.0 ). Same permissions on the site ( Read, Write etc... ) yet on this server it didn't work. Truly weird. No reason what-so-ever for it not to work.
Anyway to help the first guy out I was browsing the web for solutions and by default in IIS6.0 Parent Pathing is turned off
Go to your website in question under IIS right click -> Configuration -> Options -> and enable Parent Pathing.
More details read here :
For some bizarre reason this worked.
Not sure if similar applies to earlier versions of IIS but worth a shot?