Eine weitere Möglichkeit, welche ich noch schnell zum Besten geben möchte wäre
Code:
if AnsiLastChar(PfadName)^ <> '\' then
PfadName := PfadName + '\';
Damit würdest Du garantiert immer einen Backslash am Ende haben und könntest so die UNterverzeichnisse einfach "dranhängen".
P.S. Ich würde mich nicht darauf verlassen, dass SHBrowseForFolder den Pfad immer auf die gleiche Art und Weise zurückliefert.