Если ваши записи действительно зарегистрированы под HKCU, это будет работать.Какой установщик MSI вы используете?Должен быть способ указать, что он должен быть установлен в пользовательском режиме.
Вы разрешаете dll самостоятельно регистрироваться или имеете, что msi регистрирует dll?Лучше всего, чтобы MSI делал это, но это скорее боль.Если у вас есть саморегистрация .dll, вы должны убедиться, что dll регистрируется в HKEY_CURRENT_USER, а не в HKEY_LOCAL_MACHINE, как это делает ATL по умолчанию.
Если вы создали его в VS2008 с ATL, выхочу добавить: AtlSetPerUserRegistration(true);
к вашему DllRegisterServer и DllUnregisterServer.
В любом случае, вот некоторые вещи, которые нужно искать.Вы можете использовать Process Monitor и наблюдать за командами Reg, чтобы точно видеть, что происходит;что-то где-то пишет в HKLM.