Nunca debes asignar nil a un objeto dentro de si mismo. Ni siquiera en el evento que lo cierra. Puede ser que todavía se necesite a si mismo para cerrar otras cosas.
Si deseas que el valor sea nulo para poder hacer futuras comprobaciones deberás hacerlo fuera del objeto.
Código Delphi
[-]
Application.CreateForm(TfrmDatosFam, frmDatosfam);
try
frmDatosFam.ShowModal;
finally
frmDatosfam.Free;
frmDatosFam := nil;
end;