Sim. ASP clássico representa. Não conheço uma maneira de contornar isso que está embutido no ASP - você pode achar o StackOverflow mais conhecedor disso, como eu sugiro que seja um tópico de programação.
Seu modelo desejado é geralmente chamado de modelo "subsistema confiável" na documentação de Padrões e Práticas do ASP.Net (de anos atrás).
No passado, usei uma página do ASP.net para fazer a escrita, chamada via WinHTTP a partir de uma página ASP; usar um objeto COM com sua própria identidade especificada é a outra alternativa. Você pode (facilmente) converter a página em ASP.Net e usá-la apenas com a representação desativada. E depois há a opção "call RevertToSelf ()", que esquece sua identidade de thread; você pode precisar de um objeto COM para fazer isso para o seu segmento também, da memória novamente.
Editar: Ou use um banco de dados que seja executado como uma identidade diferente; o sistema de arquivos é apenas problemático porque é muito fácil de usar!
Além disso, se todos os usuários gravarem no mesmo arquivo, o esquema "gravar em um log" não será viável quando vários usuários o acessarem simultaneamente e, na melhor das hipóteses, introduzirá um atraso nesse cenário.
Se cada usuário precisar gravar apenas em seu próprio log (e você não quiser que a atualização seja feita muito cedo enquanto estiver gravando para evitar problemas de simultaneidade), você poderá simplesmente conceder permissão de gravação a esses usuários para essa pasta. Sem Ler, é um pouco inútil; sem realmente atacar a caixa (é o Windows Integrated, então você está em uma intranet) seria difícil para eles acidentalmente superpopular o nome de usuário e DoS a máquina.