¿Tienes algún otro componente nuevo que haga referencia a este o viceversa?
Es comportamiento es típico de componentes o clases con propiedades del tipo TComponent, sin utilizar el método Notification para "desasignar" las variables:
Código Delphi
[-]
TMiComponente = class(TComponent)
public
...
procedure Notification(AComponent: TComponent; Operation: TOperation); override;
...
published
property DataSet: TDataSet read FDataSet write SetDataSet;
end;
.....
procedure TMiComponente.Notification(AComponent: TComponent; Operation: TOperation);
begin
inherited;
if (Operation = opRemove) and (AComponent = FDataSet) Then
FDataSet := Nil;
end;
Saludos!