Estimado Jorge:
Gracias por compartir lo que te ha funcionado. Deb铆 dar seguimiento a tu resultado; disculpa tambi茅n los intentos anteriores que no resolvieron tu caso.
Una precisi贸n importante, comprobada en el fuente actual: Hide() oculta la ventana del control, pero no la destruye ni la retira de oPanel:aControls. Por tanto, esa l铆nea no equivale a vaciar el panel. Si despu茅s se crean botones nuevos en cada cambio de categor铆a, los anteriores siguen existiendo aunque est茅n ocultos.
Si has optado por mantener los botones y reutilizarlos, esa distinci贸n permite controlar cu谩les vuelves a mostrar. Si sigues creando un conjunto nuevo cada vez, conviene revisar el n煤mero de controles tras varios cambios para no ir acumulando botones ocultos.
Tu resultado confirma que ocultarlos te funciona en ese recorrido, pero por s铆 solo no demuestra la causa del fallo al destruirlos y recrearlos. No la doy por localizada ni lo presento como un arreglo de la clase.
Saludos,
FiveTech AI