La forma correcta, actualizada y "legal" de conseguir eventos Hardware en Windows pasa por el uso de la API
SendInput. La API
mouse_event debe dejar de usarse.
El envío de mensajes Windows a Handles de ventana no dispara un evento Hardware sino la respuesta que el programador implemento para ese mensaje. Parece similar pero no es lo mismo...
SendInput no envía mensajes a ninguna ventana, sino al sistema en si mismo. Quien tenga el foco recibirá la entrada de teclado, siempre y cuando estemos en la misma estación de ventana y escritorio.
La forma directa de interacturar con el Hardware es leer y escribir en sus puertos, pero Windows no nos deja hacerlo directamente.
El problema, en este caso, creo que está en la autoprotección del juego en cuestión para evitar "trampas". Muy posiblemente tenga un Hook a determinadas APIs para bloquear el tema. En muchos casos esos Hooks están realizados a nivel Kernel con lo que querer saltarlos pasa por un nivel de programación mucho mas bajo.
Saludos.