Vorschlag:

Ich hatte nicht ein großes Projekt erwartet.
Delphi-Quellcode:
procedure TMain.FNeuerArtikeloeffnen;
begin
TNeuerArtikel.Create(Self); // hier z.B.
end;
Du hast ein Chaos in den Instanzen. Du erzeugst ständig neue Forms und gibst sie nur über Main(Owner = Self) Close frei.

Auch wenn ich auch für die dynamischen Forms bin,
hier würde ich das nicht empfehlen.
1. Alle Forms automatisch erzeugen lassen mit
Hide oder
Visible := False = nicht sichtbar.
2. Statt
xxx.Create(Self) nur
xxx.Show des entsprechenden Forms ausführen.
3. Danach wieder die Form ausblenden mit
Hide oder
Visible := False.
...dann schaun wir mal weiter.
PS: Ich gehe jetzt ein ECHTES

trinken. Auf meinen Ehrentag...

Ich schaue dann mal später wieder rein.