El bucle de borrado debe usar TComponent en lugar de TControl y sólo incrementar cuando no se borra un componente ya que la lista de componentes se decrementa al borrar uno:
Código PHP:
for(nItem = 0; nItem < Panel2->ComponentCount;){
TComponent *Component = Panel2->Components[nItem];
if (Component->ClassNameIs("TCheckListBox") || Component->ClassNameIs("TStaticText") || Component->ClassNameIs("TLabeledEdit") || Component->ClassNameIs("TRadioButton"))
delete Component;
else
nItem++;
}
Saludos.