Erstmal wäre es eine gute Idee gewesen, wenn du einfach mal nachsiehst, was das für ein Control ist (ClassName),
dann wäre dir sofort aufgefallen, daß es ganz richtig so ist.
Also entweder
(CategoryPanel1.Controls[0] as TCategoryPanelSurface).ControlCount
oder du benutzt die offizielle
API, also
CategoryPanel1.GetChildren
.
TWinControl.GetChildren