echo $begrüßung;
Deine Funktion gibt nichts zurück.
Oder (statt Funktionsrückgabewerte) man übregibt der Funktion die Daten als Referenz, dann muss nichts zurückgegeben werden:
http://de3.php.net/manual/de/functions.arguments.php
Referenzen sollte man unter PHP nur verwenden, wenn man einen zwingenden technischen Grund dazu hat, und der ist hier nicht gegeben. Außerdem nützt die Referenz allein nichts, da str_replace() keine Änderung im ihr übergebenen String vornimmt, sondern den geänderten String als Ergebnis zurückgibt. Das wird am Ende unübersichtlicher, als einfach das vergessene return vor str_replace() zu setzen.
(Außerdem ist es im Allgmeinen nicht notwendig, das Verhalten von htmlspecialchars() und/oder htmlentities() nachzubauen.)
echo "$verabschiedung $name";