Hallo Sven!
Wie die anderen hier auch schon geschrieben haben kann das sehr gut an Deinem Script liegen. Einen "Fehler" würde ich hier nicht bei 1und1 suchen. Ich habe dort seit Jahren meine Daten liegen und bin eigentlich recht zufrieden.
Das schon angesprochene "register_globals" auf on könnte tatsächlich ein Fehler sein. Du musst dafür aber in jedem Ordner in dem die Scripte ausgeführt werden sollen den Wert auf "off" setzen. Es gibt aber die Möglichkeit den Server dazu zu zwingen PHP5 zu verwenden, dieses hat standardgemäß register_globals "off". Dazu musst Du nur alle Dateien in *.php5 umbenennen.
Test also ob Du irgendwo im Script das überschreiben von Deinen Variablen cms_user und cms_pass zulässt. Ohne diese vorher zu initialisieren. EVentuell liegt da der Haken. Denn der Fehler kann ja nur wirklich in Deinem Script liegen, wenn selbst ein "anmelden" ohne irgendwelche Angaben - also mit Leerstrings - funktioniert. Zumindest solche fehlerhaften Angaben solltest Du abfangen
Schönen Gruß
Afra