Ich hab jetzt auf die Schnelle deinen Code auch nicht ganz durchstiegen.
Wenn ich so ein Problem habe, breche ich es auf die kleinste Einheit herunter: Versuche einmal mit einem neuen Code nur ein einziges Feld (ein Eintrag) in die Datenbank zu speichern. Wenn das klappt, vergleichst Du es mit Deinem Code - und Du wirst den Fehler schnell finden.
Noch ein Tipp: Statt Datum und Uhrzeit manuell einzugeben und über $_POST zu übergeben, kannst Du die PHP-Funktion time() nehmen. Das generiert Dir einen timestamp zu dem Zeitpunkt der Datenübertragung. Und den Timestamp kannst Du dann später bei der Ausgabe wieder per date() in Datum und Uhrzeit anzeigen lassen.
#Noch was: protect(umlautenew()) ist deine Funktion, die die Eingabe vor Script-Versuchen schützt? Mit der Funktion htmlspecialchars() kannst Du dies auch zuverlässig machen.
#Und Du solltest deine MYSQL-Befehle immer groß schreiben, so, wie Du es bei SELECT auch machst. Ändere mal "insert into" in INSERT INTO - Ergebnis müsste identisch sein, aber ist eben ne bewährte Syntax.