Насколько я помню, свойство ComponentCount (у TComponent) отражает кол-во "дочерних" компонент, для которых он является Владельцем.
Когда Вы кидаете какой-то компонент на другой (на форме) , то форма становится владельцем.
Но можно сделать так :
Код:
procedure TForm1.Button4Click(Sender: TObject);
Var
Lab : TLabel;
begin
Lab:= TLabel.Create(GroupBox1); //!!!
Lab.Parent:=GroupBox1;
ShowMessage('Кол-во='+IntToStr(GroupBox1.ComponentCount));
end;
Но здесь есть один нюанс.
Когда владельцем компонента является форма - она сама же освобождает ресурсы (при уничтожении формы).
А в случае, когда владелец - НЕ форма - придется программисту самому отслеживать "мусор".