Was man hier sagen wollte ... vorallem in Win7 wird über das
UAC viel umgeleitet, wenn man z.B. in gewisse gesperrte Verzeichnisse reinschreiben will, wo man nun nicht mehr darf.
In deinem Fall gab es bestimmt irgendwo anders die eigentliche Datei, auf welche dein Programm zugriff, weil es in C:\Windows keine Rechte mehr hat.
PS: Laß doch einfach den vollen Pfad weg, dann sucht sich Windows ein passendes Fleckchen.
TiniFile.Create('xxx.ini');
Schon seit mindestens WinXP legt Windows dann die Daten automatisch in der Registry ab, anstatt in dieser Datei, welche früher standardmäßig in C:\Windows landete.
siehe
WritePrivateProfileString, welches intern von TIniFile genutzt wird.