echo $begrüßung;
Lässt sich register_globals wirklich nicht ausschalten, könntest du am Script-Anfang die globalisierten Variablen bzw. die Referenzen zu Fuß löschen.
Ich denke nicht, dass das bzgl. des Problems hilft - $Vorname und $_SESSION['Vorname'] dürften nach wie vor das gleiche meinen.
$Vorname ist nach register_globals eine Referenz auf $_SESSION['Vorname'], so als ob man es so angelegt hätte:
$Vorname =& $_SESSION['Vorname'];
Das sieht man, wenn man var_dump($GLOBALS); ausgibt. Nach dem
unset($Vorname);
ist $Vorname weg, aber $_SESSION['Vorname'] immer noch vorhanden. Ein erneuter Schreibzugriff auf $Vorname stellt die Referenz nicht automatisch wieder her.
Siehe auch Unsetting References.
echo "$verabschiedung $name";