Deine Variable $arr_Date
ist auch bei einem rekursiven Aufruf der Funktion (== neue Instanz oder Tochterinstanz) zunächst leer... Das heisst die Tochterinstanz der Funktion darf nicht in Mutters Schatzkästlein sehen oder gar darin etwas verändern. „Der Mutti geben und die tuts dann rein“ ist die Regel.
// Erneuter Funktionsaufruf, um das aktuelle Verzeichnis auszulesen
dir_rekursiv($verzeichnis.$datei.'/');
Du musst die Rückgaben übernehmen, wie Du es wenige Zeilen später ja auch tust:
// Wenn Verzeichnis-Eintrag eine Datei ist, diese in Value des Array
$arr_Date['".$verz."'] = $datei;
By the Way: Warum bust die Quotas mit in die Namen ein? Rest von Trial & Error? Das würde jedes Mal einen Key ".$verz."
erzeugen, also immer diesen und mit GENAU diesen Zeichen.
$arr_Date[$verz] = $datei;
genügt wohl.