Robert: Not sure why it picks on Favorites, but it is inconsistent. Played around and here's what I believe is happening.
The macro is issuing the SHELL command with ASYNCH. So SPFLite continues on while Windows does the ATTRIB change. In some cases it is doing the refresh before the ATTRIB has completed.
So I changed it to SYNCH, but that made it worse, it hung waiting for the SYNCH to complete. ? So I switched it from HIDDEN to NORMAL and I could see the command window sitting waiting for an EXIT command.
Next - off to the SPF_SHELL code. Turns out it's invoking the CMD processor with a /K operand, which means 'keep the window open'. So that's why it never returned.
So I altered SHELL to use /K for ASYNCH and /C for SYNCH and it seems fine now.
Here's my final RW/RW macros and the corrected SPFLite.