echo $begrüßung;
(c) der PHP-Interpreter muss wissen, dass ihm UTF-8 kodierte Scripts vor den Latz geknallt werden
PHP hat erst ab Version 6 eine (hoffentlich) ordentliche Multibyte-Zeichensatz-Unterstützung. Momentan gilt 1 Zeichen = 1 Byte. strlen('Ärger') liefert 6, wenn das Ä UTF-8-kodiert ist (= 2 Bytes verwendet). Wenn die Daten nur durchgereicht werden, also keine Stringfunktionen angewendet werden, dann gibt es keine Probleme.
Ansonsten gibt es noch die Multibyte String Functions-Erweiterung (da muss der Provider mitspielen) und eine Aufstellung der UTF-8-Kompatibilität der einzelnen Funktionen: http://wiki.silverorange.com/UTF-8_Notes.
(d) der MySQL client muss wissen, dass er UTF-8 liefern darf und nicht vorher nach latin-{x} konvertieren braucht. Selbiges gilt beim Schreiben in die Datenbank
Solange man nicht sehr sicher sagen kann, welche Kodierung auf der Verbindung zwischen Client und Server verwendet wird - und da würde ich mich beim Hoster nicht blind drauf verlassen - sollte man nach jedem Verbindungsaufbau die Kodierung, die man zu verwenden gedenkt, explizit festlegen: SET NAMES ...
Der Kenntnis des restlichen Kapitels Character Set Support halte ich ebenfalls für nicht ganz unwichtig. Es gibt recht viele Stellen, an denen Zeichenkodierungsinformationen unter MySQL (>= 4.1) eingestellt werden können oder zu beachten sind.
echo "$verabschiedung $name";