Я ставлю запрет на использование элемента...
И этот элемент не будет работать. Пользователь нажимая на кнопку никак не сможет повлиять на процесс, т.к. она не будет выполнять запись в переменную и т.д.
...а он берет и запускает окно.
При правильной настройке прав это окно пользователь сможет только просматривать и ничего не сможет изменить и повлиять на процесс.
При существующей системе настройку прав пользователей производить очень просто: дали доступ пользователям к нужным страницам, остальные скрыли или установили доступ "только чтение". Никаких дополнительных действий не требуется - пользователь зайдя на страницу "только для чтения" может открыть любое окно на этой странице, но может только наблюдать и не может ничего менять. Это один из наиболее распространенных примеров использования прав доступа.
Если бы система прав работала так, как предлагаете Вы, то установив пользователю доступ к странице "только чтение" - он не смог бы открыть никакое окно на этой странице. А нам допустим требуется, чтобы пользователь мог открывать и просматривать любые окна на этой странице. Для этого пришлось бы всем объектам, которые вызывают окна, вручную задавать права доступа разрешая нашему пользователю доступ. При таком подходе настройка прав была бы очень не удобной, особенно если пользователей много и проект большой.
Обычно в проектах не требуются такие окна, на которые пользователю запрещено даже смотреть. А даже если есть такие окна, их можно расположить на отдельной странице, доступной только определенному пользователю. Если такие варианты не подходят, то можно блокировать или скрывать нужные объекты через скрипты при авторизации пользователя.