Du könntest mit dem Process Monitor (SysInternals) nachsehn.
Beim Schreibzugriff auf diese Datei in die Properties sehen, da findest du den Prozess und Callstack.
Statt ReadOnly besser die Nutzerrechte verwenden.
Gut, dass es hier dennoch hilft.
ReadOnly ist nur etwas, was Programme beachten müssen. Wenn man möchte, dann darf man ReadOnly auch überschreiben.
Oder einfach löschen und neu schreiben.
Natürlich darf diese Datei nie vom Programm verändert werden.
Schließlich ist sie ja eigentlich dafür da, dass der User dort eigenes Zeugs reinmacht.