У вас нет прав на запись в HKLM. Вам нужно будет работать с повышенными привилегиями, чтобы это удалось.
Всегда было так, что права на HKLM были ограничены членами группы администраторов. То, что изменилось, было в Vista, когда появился UAC, и пользователи обычно запускались без прав администратора.
Возможно, это не то, что вы хотите услышать, но вам нужно избавиться от привычки писать в эту область реестра и найти другой способ достижения своих целей. Единственное время, в течение которого настольное приложение может ожидать доступ на запись в HKLM (или в каталог Program Files), - это время установки.
Как только вы исправите свой код, как описано в arx, вам придется заняться этой проблемой.