echo $begrüßung;
dies sollte 5,6,11 ausgeben...
In PHP5 erfolgt die Ausgabe wie gewünscht.
das $testn2->visited bleibt aber false (0)
In PHP4 gibt es jedoch das von dir geschilderte Problem.
Der Unterschied zwischen beiden Versionen, den ich hier verdächtige, ist die Art und Weise der Übergabe von Parametern beim Funktionsaufruf.
Während bei PHP4 alles als Kopie übergeben wird, übergibt PHP5 bei Objekten eine Referenz. Du arbeitest also, wenn du PHP4 verwendest, in den Funktionen mit Kopien, statt mit Originalen.
Lass dir Referenzen übergeben, dann sollte alles klappen.
echo "$verabschiedung $name";