Tach!
das Umkopieren ist unnötig und verschleiert später die Herkunft der Variablen, was zu einem ernsten Sicherheitsproblem führt.
Nicht die Herkunft ist das Sicherheitsproblem sondern der unbedachte Umgang beim Weiterreichen von Daten. Das gilt für sämtliche Daten, nicht nur für direkte Eingabedaten der Anwender. Das Umkopieren sorgt lediglich für mehr Komplexität durch die zusätzlichen Variablen.
$queryreg = mysql_query("
INSERT INTO users VALUES ('','$username','$vorname','$nachname','$password','$birthday','$birthmonth,'$birthyear','$email')
");
b) behandle deine Daten kontextgerecht. Du erlaubst hier deinen Usern beliebigen Zugriff auf deine Daten.
Die fehlende Kontextwechselbeachtung an der Stelle ist unbestritten, aber mit mysql_query() abgesetzte Statements können lediglich im Rahmen der Syntaxmöglichkeiten des vorhandenen Statements erweitert werden. Es ist nicht möglich, das Statement abzuschließen und zum Beispiel ein DELETE anzuhängen. Mit dem was stattdessen geht, lässt sich immer noch so einiges anstellen, aber eben nicht beliebig alles.
dedlfix.