RemoveComponent wird von TComponents automatisch aufgerufen, wenn man sie löscht, egal ob sie einen Namen haben, oder nicht.
RemoveComponent entfernt die Komponente aus der Child-Liste des eigenen Owners.
Und Free gibt eine Komponente definitiv frei. (wenn sie in dem Array drin steht)
Daß die Fehlermeldung ohne Namen nicht kommt liegt bestimmt nicht daran, daß die alten Komponenten nicht mehr da sind, sondern daß es nun keine Namens-Prüfung mehr gibt.
Was ist labeltest und wo ist das definiert?
Und wo/wann werden die Komponenten erstellt/freigegeben.