Yo hago esto que sigue y nunca me hada ningún tipo de problema.
Código:
procedure TfrLstAgenda.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Application.ProcessMessages;
FreeAndNil(ListaAgenda);
Action:=CaFree;
end;
procedure TfrConAgenda.SpVpreviaClick(Sender: TObject);
begin
Application.CreateForm(TfrlstAgenda, frlstAgenda);
frlstAgenda.listaAgenda.Preview;
frlstAgenda.Close;
end;
Un Saludo.