Ich hab auf der Kiste hier nur XE2 drauf, da ist TPath.GetTempPath das als
Winapi.Windows.GetTempPath definiert. Zu dessen Verhalten siehe
hier. Möglicherweise ist die TMP-Variable falsch definiert? Das erklärt aber nicht, warum es nach Anlegen des Pfades geht. In Server 2019
gibt es wohl einen Bug mit dem Temp-Pfad, aber da GetTempPath keine Prüfung durchführt, dürfte das egal sein.
Wie es zu der 3 kommt, weiß ich nicht, da würd ich mal GetTempPath untersuchen, was das so tut.