Tendrías que sobreescribir el destructor del archivo, y desde ahí si la pantalla esta abierta, cerrarla y liberarla.
Código:
TMiComponente = class(TComponent)
private
FDialog: TFrmDialog;
public
destructor Destroy; override;
end;
...
implementation
destructor TMiComponente.Destroy;
begin
if Assigned(FDialog) Then
FDialog.Free;
inherited;
end;
Saludos!