Что-то я задумался... Видно мы не понимаем друг друга.
Реестр, по большому счёту, заблокировать от изменений невозможно.
Это может сделать только антивирусник при серьёзной атаке. Но тогда и вся система впадает в ступор.
От изменения можно блокирнуть отдельные ключи и ветки, которые не влияют на работоспособность системы.
В принципе, ветку
HKEY_CLASSES_ROOT\Directory\shell\runas тоже можно заблокировать от изменений,
но тогда пользователь не будет иметь возможности установить что-либо,
поскольку почти любая программулина вносит туда изменения, касающиеся
контекстного меню для файлов или папок.
Отсюда: Если у пользователя есть доступ на установку программ, то априори у него есть доступ к изменению реестра.
Вывод: Что-то просто было сделано не так. Чудес не бывает.