Ermittelt auch das Verzeichnis, in dem die Exe liegt und nicht das aktuelle Arbeitsverzeichnis
Meinst du nicht, dass er genau das möchte? So habe ich es verstanden, also
Settings := TIniFile.Create(ExtractFilePath(ParamStr(0)) + 'set.ini');
Damit das Verzeichnis (= Verzeichnis, in dem die Exe liegt) gleich bleibt, auch wenn der OpenDialog verwendet wird.
Wo liegt denn die Ini-Datei? Im Verzeichnis deiner Exe?