Often detection of a program by another is not by simple name variance - unless you're lazy (like EAC or what Punkbuster did one time...) it's often by finding where a program injects, what it modifys or what functions are being hooked to. If it monitors a function here, and notices something external is calling on that function to present data or do an action it can then flag that to the AC and cause a detection.
Another example is in WoW you used to be able to teleport hack VERY easily, just by modifying a few values - this was patched to make it so the moment you try to move past a certain speed you get disconnected. It's still possible, but a lot harder than it used to be due to this change of disconnecting people.
This is a VERY broad example though, there are various ways to get around AC's, to detect a ***** or hack, but this is just one main example.
AC does not stand for air conditioning - I just can't say the C word apparently...
-Grim