Короткий ответ - нет, в общем случае это невозможно. Даже если вы реализуете некоторые из предложенных предложений, ничто не помешает кому-то исправить код, выполняющий проверки.
Я не знаю специфики работы ArtMonkey, но если он функционирует как отладчик, вы можете регулярно проверять наличие DebugHook <> 0 и реагировать соответствующим образом, если это так. (Просто поместите этот код в блок {$ IFNDEF DEBUG}, чтобы он не доставлял хлопот вам !)
Возможно, вы захотите спросить себя, почему вы хотите запретить людям исправлять вашу память. Если нет подлинной проблемы безопасности, вы, вероятно, даже не должны пытаться. Помните, что компьютер пользователя, на котором будет работать ваша программа, является его собственностью, а не вашим, и если вы слишком сильно вмешиваетесь в выбор пользователя относительно того, что делать с его свойством, ваша программа морально неотличима от вредоносных программ.