Appena uno sguardo rapido con il vostro codice, perché state generando questi meniutems ed allora state distruggendoli nella stessa procedura?
Il senso che lo avete fatto sembra al contrario essere corretto -- assegnate il nome del eventhandler all'evento, come dentro
mi2.OnClick: = Check1Click;
Allora quando l'utente scatta sopra mi2, Check1Click ottiene denominato
Potete allora usare il parametro del mittente per vedere quale tasto lo ha denominato.
Tuttavia, dopo voi ha detto mi2.OnClick: = Check1Click; nel vostro fonte-codice, immediatamente lo distruggete, cioè mi2.destroy;