Non c'è un linguaggio di programmazione migliore. Sotto Windows, è sufficiente la possibilità di poter utilizzare le API di Windows (per le operazioni cross-process). E questo lo permette qualsiasi linguaggio di programmazione.
Assembly + Qualcosina di reversing + 1 linguaggio di programmazione.
Lo sviluppo cheat è sostanzialmente reversing. Quindi, è necessario conoscere l'Assembly; saper usare almeno i principali tool del reverser (sopratutto Cheat Engine e OllyDBG); conoscere un linguaggio qualsiasi in cui sviluppare il cheat.
Tutto ciò non si impara in pochi giorni. Se non sai niente di assembly, reversing e programmazione, ti servirà almeno 1 anno (approssimativamente) per imparare a sufficienza prima di poter sviluppare qualche cheat decente.
Dipende dalla licenza del gioco. I giochi sono rilasciati sotto licenze che contengono queste informazioni. Di solito questa informazione si può trovare nell'EULA (End User License Agreement).
Comunque sì, solitamente sono illegali.
PS e XBOX non sono diverse. anch'esse sono dei computer tali e quali il tuo PC. E per lo stesso motivo, anche i giochi per PS e XBOX sono programmati con qualche linguaggio di programmazione (solitamente, C++ per PS e .NET (Visual Basic o C#) per XBOX).
Trovato il modo di estrarre il codice del gioco dal suo disco e messo sul PC, con ottime competenze di reversing (circa: qualche anno di esperienza) puoi riuscire a modificare il gioco e riscriverlo su disco (o direttamente dentro la console) e farne ciò che vuoi.