There is a number of reason, often having to do with making sure the program's memory or code isn't tampered with. Two I can think of from the top of my head:
- Copy protection. Some programs do not want you to be able to edit (or debug) the code to bypass copy protection.
- Cheat protection. Since this is a game, this is a likely reason. Running it in a virtual machine would make it easier to transparently edit values in the games memory without being detected.
- Performance. An application should generally not do this, but the programmers might have decided that running in a VM gives poor performance, such as input to screen latency, and disallows running in a VM for this reason.
Of course, just because there are legitimate reasons that the program doesn't run in a VM, doesn't mean that it is actually safe. As always, proceed with caution.