OK, that all sounds pretty good...this topic now qualifies for posting in the Programmer's Forum!
Even if the shortcut.dat file was changed to a read-only file, you would still probably need to modify Hal's startup code to accept a read-only file and to NOT try to update the file because the update/build process would fail. The code might not like that, which in turn would probably cause the whole startup process to bomb-out. But if the startup code could be modified then you wouldn't need to write-lock the file anyway...Catch 22! But that is all just a guess!
It would be good if the code could be modified to accept the file either way and continue accordingly.
But anyway, I just ended up doing the same thing that you were discussing by renaming program files and/or creating shortcuts and throwing them into system menu folders.
OK, if you want Hal to see your Recent Documents without doing any programming you can try this out...I just did it and it worked!
Use Windows Explorer to get to your system's "Recent Documents" Folder and then copy all of the files that are in it, but don't copy the folder, just copy all of the files inside of it. Then create a new folder somewhere in your system's menu name it anything you want, like "NewRecentDocs", and then copy all your files into that and Hal will see it. Of course the "Recent Docs" on your system will eventually change and the new folder won't reflect this, but if you have a lot of files in your "Recent Documents Folder" when you make the copy that might be enough for what you need. I find that I am always going to or using the same Recent Docs most of the time, so that would be enough for me. And you can always do the same procedure periodically to keep your "NewRecentDocs" Folder up-to-date.
Now, if you know how to write a DOS Batch (.bat) File you can have your system automatically copy your "Recent Documents" directory into the "NewRecDocs" directory during your system's startup, or just have it as a program that you can run manually every once in a while, and then your "NewRecentDocs" would pretty much always match the system's "Recent Documents".
To do this kind of stuff requires full system privileges and you also need to change your System's Folder Options to show/view all the system stuff. Just try to change your settings to view as much system stuff as possible. I have XP and I needed to change the Folder Options from the System Default in order to see my Recent Documents Folder, among other things, using Windows Explorer.