Den Parameter AOwner wegzulassen halte ich für keine gute Idee.
Du musst dich dann zwingend selbst um die Freigabe kümmern.
Nur wenn dein Form (TFehler) immer modal in einen try finally mit Freigabe aufgerufen wird, könnte man es akzeptieren.
Machen würde ich es dennoch nicht. Bei mir haben alle Konstruktoren eines TForms alse ersten Parameter AOwner...
Der Aufruf zum Erzeugen kann dann TFehler.Create(Nil, Color...) oder TFehler.Create(Application, Color...) etc. sein.
Frank
Oder im Destructor freigeben.
Oder im OnDestroy freigeben.
Das wären alles gültige Alternativen.