Most shells that I have tried seem to find the default (common? allusers?) startmenu.
Here's the registry for WinPE 3.0:
Maybe those shells use an environment variable to locate the available keys under "User Shell Folders"; whereas Vi* tries to locate the registry key directly, and the keys are missing under "Shell Folders".
The orb is not a shell. It's meant as an addon to the explorershell. And though it can run stand alone, it has to work differently than a program meant as a standalone shell.
For instance, you can keep Explorer as shell and still use the Orb at the same time to replace the start button.
Try using explorer as shell and KDE added in.
Hence the Orb needs to act exactly like the explorer start button it replaces. No way around that!
But the Orb is not really your problem. If you use regshot to get all the needed reg entries from a ViStart install, it will also contain the keys the Orb needs to find it.
Getting everything ViStart needs, might be a bit more tricky.
So to be absolutely clear.
The Orb needs to work properly, eighter the explorer shell or ViStart, it does nothing but look pretty and and call the start menu specified somewhere in the registry (dll/exe).
ViStart may not need explorer as shell, but it sure needs the registry settings and folders and shortcuts from the explorer start menu.
PS: Since the orb can also be run standalone, it would be real easy to use Regmon to track all the keys it's looking for.