Во-первых, сузьте вашу проблему, временно предоставив всем полное разрешение на этот конкретный путь. Если это работает, то вы точно знаете, что это простая проблема с разрешениями, и вам просто нужно выяснить, какой акт требует соответствующего разрешения. Возможно, учетная запись анонимного пользователя (дважды проверьте этот параметр в IIS Admin), а не учетную запись ASP.NET. (не забудьте получить разрешение для всех)
Если вам нужно, я думаю, вы можете использовать FileMon, чтобы узнать, какая учетная запись пытается получить доступ к определенному файлу. Может быть неправильно, я давно не пользовался этим инструментом.
И последнее: установлен ли в файле флаг только для чтения? :)