Per evitare a livello programmatico la chiusura delle finestre, puoi gestire l'evento OnCloseQuery della form.
Maggiori dettagli sulla Guida in linea.
Per quanto riguarda la visualizzazione di una finestra all'avvio del programma, è fattibile, ma devi modificare in qualche modo direttamente il codice sorgente del progetto (mi riferisco al file DPR).
La form principale (MainForm) deve essere sempre la prima form ad essere creata tramite la chiamata al metodo Application.CreateForm. Il problema è che la form principale, quando viene chiusa, provoca anche la chiusura del programma.
Potresti tentare in questo modo (chiaramente il codice deve essere adattato):
codice:
begin
Application.Initialize;
OpzioniBox := TOpzioniBox.Create(Application);
try
OpzioniBox.ShowModal;
finally
OpzioniBox.Free;
OpzioniBox := nil;
end;
Application.CreateForm(TMainForm, MainForm);
Application.Run;
end.
Ciao!