Eu já vi um erro, que pode ser o seu problema.
if %cheat% = 1 echo CHEAT gem x1 y0 exit x-1 y1
Esta linha tem apenas 1 = para o if. Lote precisa de 2 ==.
Além disso, execute o arquivo em lote a partir de um prompt de comando para que ele mostre um erro em vez de uma janela que desaparece (o que mostra um erro e logo após o fechamento)