Bueno el modulo de datos debe ir primero.
Necesariamente (es un requisito) que el primer Form a crear sea el principal. Asi trabaja Delphi.
Prueba algo como esto:
Código Delphi
[-]Application.Initialize;
inicio := now;
Application.CreateForm(TForm1, Form1);
Application.CreateForm(TForm3, Form3);
form3.Show;
form3.Update;
repeat
Application.ProcessMessages;
until (millisecondsbetween(now, inicio)>2000);
Application.CreateForm(TForm2, Form2);
form3.Free;
Application.Run;
Donde Form3, es el que hace de splash, form1 es el main Form y form2 es otro cualquiera.
De ese modo conseguirás mostrar form3 como splash, form1 será el Main Form.
Obviamente, antes del Form prinicipal deberá estar tu módulo de datos.
El tema de porqué cuando minimizas cualquier form que no sea principal se vaya allí es como dije: es el comportamiento esperado. Si no quieres que haga eso, prueba desabilitando la opción de minimizar.
O la otra opción que se me ocurre es que tu aplicación sea MDI.
Saludos,