Por algum motivo, alguns jogos não funcionam bem com a sintaxe ^2 , que você pode ignorar usando a {Control DOWN}2{Control UP} synax. Você pode ler sobre isso aqui - link
Então, para o seu exemplo, você gostaria de usar algo assim:
gathering := "{Control DOWN}2{Control UP}"
ControlSend,, %gathering%, ahk_id %id%