Драсте шаманам.
написал компонент контейнер (FilterSet) - который в собственном списке содержит набор субкомпонентов (baseEventFilter). листинг ниже.
данный контейнер нормально сериализуетсяв базовой форму, но уже нехочет грузиться в унаследованой.
причина в том что немогут найтись предки субкомпонентов в предковой форме. насколько я понял ето потому что поиск предка идет по имени компонента в корне - тоесть в самой форме, а не в контейнере в котором они лежат.
если кто воевал, подскажите как лечица. 
    FiltersSet = class(TComponent)
      protected
        //FItems : LogTracks;
        procedure GetChildren(Proc: TGetChildProc; Root: TComponent);override;
        function GetChildOwner: TComponent; override;
        procedure Notification(AComponent: TComponent;
          Operation: TOperation); override;
      public
        constructor Create(aOwner : TComponent);override;
        destructor Destroy;override;
    end;
implementation
uses AdressPaleteFrame
    , sysutils
    , strutils
      ;
{****************************************************************************
                              FiltersSet
******************************************************************************}
constructor FiltersSet.Create(aOwner : TComponent);
begin
  inherited;
end;
destructor FiltersSet.Destroy;
begin
  inherited;
end;
procedure FiltersSet.GetChildren(Proc: TGetChildProc; Root: TComponent);
var
  I: Integer;
  OwnedComponent: TComponent;
begin
    for I := 0 to ComponentCount - 1 do
    begin
      OwnedComponent := Components[I];
      if not OwnedComponent.HasParent then Proc(OwnedComponent);
    end;
end;
function FiltersSet.GetChildOwner: TComponent;
begin
  result := self;
end;
procedure FiltersSet.Notification(AComponent: TComponent;Operation: TOperation);
var
  SubComp : boolean;
begin
  SubComp := (assigned(AComponent) and (AComponent.Owner = Self));
  inherited;
  if SubComp then begin
    if assigned(FOnChange) then
      FOnChange(Self, AComponent, Operation);
    if Operation = opInsert then
      AComponent.SetSubComponent(true)
    else{ opRemove }
      AComponent.SetSubComponent(false);
  end;
end;
			
		



