Há vários motivos, muitas vezes relacionados à garantia de que a memória ou o código do programa não sejam adulterados. Dois posso pensar no topo da minha cabeça:
- Proteção contra cópia. Alguns programas não querem que você seja capaz de editar (ou depurar) o código para ignorar a proteção contra cópia.
- Proteção contra fraude. Desde que este é um jogo, esta é uma razão provável. Rodá-lo em uma máquina virtual facilitaria a edição transparente dos valores na memória dos jogos sem ser detectado.
- Desempenho. Um aplicativo geralmente não deve fazer isso, mas os programadores podem ter decidido que a execução em uma VM fornece um desempenho ruim, como entrada para a latência de tela, e não permite a execução em uma VM por esse motivo.
Claro, só porque existem razões legítimas para que o programa não seja executado em uma VM, não significa que seja realmente seguro. Como sempre, prossiga com cautela.