Pensándolo bien, mejor haré un sub-proceso que compruebe la memoria del EXE primario, será más sencillo y la protección la podré exportar fácilmente a otros proyectos.
Usaré el código con ReadProcessMemory que ha puesto karcrack, lo he testeado con mi ejemplo y funciona de maravilla
Ahora toca modificarlo para que compruebe toda la memoria del EXE en un timer, y cuando cambie un byte -> mostrar una alerta. A ver si me sale :S