La forma correcta sería:
Código Delphi
[-]if not assigned(edicion) then
edicion := Tedicion.Create(Self);
edicion.ShowModal;
edicion.Free;
No creo que el error se deba a un problema al crear el form, seguramente sea en alguno de los componentes de ese form, probablemente en los relacionados con la base de datos.