Wenn Du den Pfad in 'ner CMD setzt, so gilt diese Änderung nur in genau dieser CMD und nicht für die übrigen Prozesse.
Die Pfadänderunmg "musst" Du in der Systemsteuerung machen.
Wenn Du in Deinem Programm mal am Anfang
ShowMessage(GetEnvironmentVariable('PATH'));
einfügst, ist dort die Pfadangabe dann korrekt, d. h.: Befindet sich die
DLL in einem der dort aufgeführten Verzeichnisse oder im Programmverzeichnis?