A resposta é que preciso usar o método RunOnce do HKCU em vez do HKLM. A ordem em que o Windows executa as entradas de inicialização é:
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServicesOnce
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServices
<Logon Prompt>
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnce
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run
StartUp Folder
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOnce
Ref: INFO: Run, RunOnce, RunServices, RunServicesOnce e Startup