Apenas um olhar rápido com seu código, por que você está criando estes meniutems e está destruindo-os então no mesmo procedimento?
A maneira que você a fêz parece de outra maneira estar correta -- você atribui o nome do eventhandler ao evento, como dentro
mi2.OnClick: = Check1Click;
Então quando o usuário estala sobre mi2, Check1Click começ chamado
Você pode então usar o parâmetro do remetente para ver que tecla o chamou.
Entretanto, após você disse mi2.OnClick: = Check1Click; em seu fonte-código, você destrói-o imediatamente, isto é mi2.destroy;