Before answering this question I always verify the obvious problems that could exist. Are they spelling the filename correctly? Are they using the right path and including all directories? Usually the answer to one of these is no, and a quick fix of a typo has the page displaying perfectly. But, occasionally, the issue arises that the file truly does exist on the server, in a location accessible by anonymous users, and yet when the URL is typed into a browser, the end-user receives a 404 error.
When this occurs, the usual problem is the file is a type not recognized by the IIS server. This often includes .xml, .fla, and other media file types. To fix this problem, all one needs to do is add the extension of the file not working to their IIS MIME Types. To do this:
And ta da. All fixed. IIS will now serve files with the new extension you just added.