I've gotten more than three issues sent to me recently regarding why an ASP.NET 2.0 app suddenly starts throwing up 404 errors, and each time there is a single culprit: app_offline.htm. I'd point towards some documentation, but honestly I just can't find any out there, so hopefully this will help people figure out what is going on. When ASP.NET 2.0 sees this file, it basically shuts down the process. This is useful if you need to over write a MDB file for example.
Strangely, each time I've encountered "issues" with 404 errors being thrown by applications when the file exists, this file exists and the customer doesn't know how it got there. I'm not sure if they were just going through some demos and missed a step or something, or perhaps something in VS2005 or Web Dev Express is creating the file automatically. Perhaps one of the publishing tools sends the file up, and fails to clean it up. So there you go. Hopefully this helps someone out there figure out why they are suddenly getting 404 errors on pages that exists, or maybe it helps people manage deployments easier by using app_offline.htm for what it was designed for.