ich habs jetzt nicht genau gelesen, nur überflogen - aber es sieht nach php/mysql und einer selber gebastelten funktion
ersetze deine eigene funktion "date_german2mysql" durch mktime() und date() damit fängst du zwar keine eingabefehler ab, stellst aber eine richtige konvertierung des datums sicher
sprintf ist eine denkbar schlechte variante um einen string umzuschlichten ;)