Hm...
...nichts gebracht...
dann ist da noch was faul. So auf Anhieb sehe ich das aber nicht.
Bau doch mal ein paar echos an den entscheidenen Stellen ein, damit du siehst welchen Entscheidungspfad das Programm langläuft.
Wird Laenge_pruefen() überhaupt aufgerufen, wenn ja: welcher der vier möglichen returns wird genommen?
foreach ($Formular as $Feld_Name => $Feld_Inhalt)
{
echo "Prüfung für $Feld_Name => $Feld_Inhalt<br>";
if (isset ($Laenge [$Feld_Name]["min"])) // [1]
{
echo " Prüfung auf Länge min ".$Laenge [$Feld_Name]["min"]."<br>";
....
Carsten