Я думаю, проблема в том, что форма сохраняет саму себя целиком, вместе со всеми свойствами, включая Visible, которая в момент сохранения равна true, поэтому при запуске программы это свойство устанавливается в true, и форма при этом отображается.
Можно сериализировать отдельные компоненты на форме или же просто сохранять после закрытия, а не в его момент (надеюсь сработает):
Код:
procedure TOptionsForm.SaveFrm;
begin
WriteComponentResFile('Options', Self);
end;
...
procedure TMainForm.N1Click(Sender: TObject);
begin
OptionsForm.ShowModal;
OptionsForm.SaveFrm;
end;