What are the most effective methods to detect bot application presence/activity?
1 Considering the user can grant any access for the anti-cheat system in Windows (XP/7) OS.
2 Not taking in account potential amorality or illegality of methods.
3 Neglecting user-behaviour detections (like checking time between user actions or smoothness of mouse moves or using CAPTCHAs to detect bot or whatever).
Thus far I can think of:
Checking INJECTED flags for mouse/keyboard events.
Scanning processes list, detecting potentially "bad" processes.
Checking integrity of application to avoid direct injeсtions.
Checking if the environment is a virtual machine (to avoid false negatives of above checks).
Here's a good post on this subject: How to prevent cheating in our (multiplayer) games?
My thoughts on your list:
A few suggestions: