dirListBox.Directory возвращает родительский каталог, а не подкаталог.
Единственный способ получить правильные имена - использовать itemindex. Itemindex обновляется при нажатии или перемещении курсора в каталог.
fMain.eProject.Text:=fProject.dirlistBox.Items[fProject.dirListBox.ItemIndex];
fMain.ePath.Text:=fProject.dirListBox.GetItemPath(fProject.dirListBox.ItemIndex);