M.E. wurde das Verhalten "irgendwann einmal" in Delphi geändert (in diesem Punkt verschlechtert).
Ich denke, früher war es so, dass beim Align die "ursprüngliche" Position den Komponenten (Top, Left) zu Ausrichtung herangezogen wurden.
Heute wird die "aktuelle" Position verwendet. Wenn man nun ein Control unsichtbar und dann wieder sichtbar macht, verschieben sich die Reihenfolgen, da sich die anderen Controls zischenzeitlich verschoben wurden.
Bei solchen Anforderungen setze ich die Höhe des Auszublendenden Controls inzwischen manchmal auf 0 und dann wieder zurück.
Ich meine früher, war das Verhalten der
VCL in diesem Punkt vorhersehbarer und besser.