Selbst wenn du den Constructor verbergen kannst bringt dir das überhaupt nichts. Der Constructor ist nichts anderes als eine normale Methode die beim Aufruf als Klassen-Methode speicher anfordert. Wenn du dir aber zum Beispiel mit Application.CreateForm anschaust wirst du sehen das man nicht unbedingt den Constructor als Klassenmethode aufrufen muss um Speicher anzufordern.
Zudem kann man auch einfach immer auf einen Vorgänger casten wo der Constructor sichtbar ist und da den Constructor aufrufen.
Der Sinn ist also gleich null von dem was du vor hast. Und wenn du dir mal die Objecte der
VCL anschaust wirst du auch nirgends sowas finden obwohl da genau das gleiche mit den Klassengemacht wird wie bei dir (ListView.Items.Add zum Beispiel).