Siempre puedes usar la recursividad:
Código Delphi
[-]
procedure MirarDentro(Contenedor:TComponent);
var
I:Integer;
begin
for I := 0 to Contenedor.ControlCount-1 do
begin
if Contenedor.Controls[i] is TGroupBox then MirarDentro(Contenedor.Controls[i]);
end;
end;
Lo he escrito "a capón"... pero espero que te sirva de ayuda... (y perdón si hay algún error).
Saludos