Du kannst doch mehrere Instanzen eines Fensters dynamisch erzeugen und diesen dann jeweils die entsprechenden Parameter übergeben. Wenn du die Formulare mit "Show" aufrufst statt "Showmodal" dann kannst du beliebig viele davon aufmachen.
In deinem Mainform machst du dann z.B. folgendes
Delphi-Quellcode:
begin
with TMyForm.Create(Application) do begin
// hier setzt du deine Parameter für das "Neue" Form
// oder du überschreibst dir den Konstruktor, dann kannst du das gleich beim "Create" mit übergeben
SetMyParams;
// Formular nichtmodal anzeigen
Show;
end;
end;
Wichtig ist dann nur, dass du in dem jeweiligen Formular im Event "OnClose" die Action auf "caFree" setzt, damit der Speicher auch wieder freigegeben wird wenn das Formular geschlossen wird.