Из MSDN:
"GetSetting требует, чтобы пользователь вошел в систему, поскольку он работает в разделе реестра HKEY_LOCAL_USER, который не активен, пока пользователь не войдет в систему в интерактивном режиме."
Под каким аккаунтом работает ваш сервис? Если это LocalSystem, у вас фактически нет зарегистрированного пользователя. Даже если вы выдаваете себя за IIRC, он не загружает куст реестра.