if DirectoryExists(APath) or ForceDirectories(APath) then
Wenn die erste Bedingung false ergibt wird die zweite überhaupt nicht ausgeführt (sofern man die vollständige Auswertung von Statements deaktiviert hat = Standard). Besser wäre es einfach ForceDirectories auszuführen und danach überprüfen ob der Ordner existiert.
Delphi-Quellcode:
ForceDirectories(...);
if DirectoryExisst(...) then
begin
//...
end;