При вызове из того же процесса, который создавал HotKey — все работает. Если вызвать с теми же параметрами из другого процесса — не работает, возращает false (GetLastError возвращает ошибку 2 — файл не найден). В MSDN ничего не сказано что вызывать нужно из того же процесса.