Это, безусловно, звучит так, как будто учетная запись, под которой работает ваша служба Windows, не имеет достаточных прав для записи в рассматриваемый журнал событий.
Установка разрешений в журнале событий для учетных записей, не относящихся к администратору, может быть немного черным занятием, потому что вам нужно настроить собственные дескрипторы безопасности с использованием SDDL и т. Д. Однако есть очень удобная статья в базе знаний MS о том, как это сделать программно:
Как программно настроить безопасность журнала событий с помощью .Net Framework
Я использую это все время сейчас, и это так просто, как:
int mask = EventLogSecurity.CustomSD_ALL_ACCESS;
string logName = "Application";
string domain = "MyMachineOrDomainName";
string account = "UserAccount";
EventLogSecurity.AddUserToEventLogCustomSD(logName, domain, account, mask);