¿Apenas una mirada rápida con su código, por qué usted está creando estos meniutems y después los está destruyendo en el mismo procedimiento?
La manera que usted la ha hecho parece de otra manera estar correcta -- usted asigna el nombre del eventhandler al acontecimiento, como adentro
mi2.OnClick: = Check1Click;
Entonces cuando el usuario chasca encendido mi2, Check1Click consigue llamado
Usted puede entonces utilizar el parámetro del remitente para ver qué botón lo llamó.
Sin embargo, después de usted dijo mi2.OnClick: = Check1Click; en su fuente-código, usted lo destruye inmediatamente, es decir mi2.destroy;