А если в систему вошло сразу несколько пользователей и идёт простое переключение профиля и никаких новых процессов не создаётся?
А для чего делаются изменения в реестре? Как я понимаю, для процессов, ибо никто другой их читать/писать не может, даже если юзер сам хочет посмотреть значение в реестре, он открывает процесс regedit под текущим активным юзером. В нотификаторе же вызывается коллбек, когда процесс только создается, еще до загрузки модулей и потоков, то есть на этот момент процесс еще не может делать никаких действий с реестром и внесенные здесь изменения он соответственно получит.
Впрочем, постом выше я указал другой способ без нотификатора.
Ну, если хочется более сложный вариант, можно создать сервис, который будет отслеживать переключение пользователя и передавать это событие в драйвер.