Erstelle dir doch eine globale string variable, im OnCreate sowas hier 'MeinPfad := ExtractFilePath(ParamStr(0));'
Damit ist "MeinPfad" immer das Verzeichniss wo deine .exe liegt, egal ob zwischenzeitlich das Verzeichniss gewechselt wurde. Sollte alle zukünftigen Probleme beseitigen.
Nachtrag:
Oder als Funktion, Beispiel:
Code:
function MeinPfad : String;
begin
Result := ExtractFilePath(ParamStr(0));
end;