I don't think it would be that hard actually. There are ways to protect memory in windows making it difficult to access. Take that and add random memory locations upon startup and on top of that only allow certain services/apps to run in the background and you would have something fairly secure.
I don't think you've actually worked on the problem, you're just figuring it out from the arm chair. It is a constant cat and mouse game where you very quickly realize that in order to achieve said goal, you have to step over boundaries and on toes. Take a look at Punkbuster and VAC to get a better idea what has to go into something like that.
With emulation, as long as the system is isolated, cheating is virtually a non-issue. The only person being harmed is the cheater. That's why I find it amusing when game developers implement anti-cheat measures into games that have
ZERO online capability. Locked saves states (MagicGate on PS2 for example), encrypted memory, protected execution, even amusing little messages hidden inside executables that only hackers would ever find.

As soon as you introduce an online component, whether it's a "live" competition like Counter Strike or a score keeping ability like on Live, you introduce a real incentive for someone to cheat. To find some way to game the system with a little trickery. As soon as you introduce the first anti-cheat measure, someone will find a way around that. Then you get trapped in a constant patch<->break system. The amount of research involved in discovering not only software hacks and how to detect/evade them but hardware hacks as well. Not to mention the potential for serious false negatives and what you must do about them as well.
In the end, it isn't easy. More importantly, it isn't cheap. Developers have to eat too. Money has to be involved and that opens up a whole other can of worms.
I would think such efforts to create such system would be far better utilized in actually creating better game emulation.
My two cents.
