Initial condition is a working installation of ReactOS.
Go into "Start Menu\Programs\StartUp" folder (this path could change, it depends on your language).
Create here a shortcut to an application, for example the notepad.
Restart ReactOS: you would expect that notepad is launched immediately after reboot, but it does not. Instead, it prints a messagebox saying that there is not an application associated with this type of file.
Delete the previously created shortcut and this time copy directly notepad.exe in the StartUp folder.
Restart ReactOS: no message is printed and notepad is still not launched.
BUT: if you try to run the shortcuts and the applications you stored in the StartUp folder by launching from the Start menu, they will work.
In my opinion, in base\system\userinit is missing the COM initialization.
The first step would be to add a CoInitializeEx() and add link to OLE32 in the cmake file. But I have the suspect that there is something wrong elsewhere, because ShellExecuteEx() was returning success instead of failure and this is quite incomprehensible to me.