If we are to have the submenu as I have it currently, then having a separate menu item for the last one used seems superfluous since you can always use Ctrl+Shift+1 to execute it. So, it's a question of either just the last macro /or the list of most recently used macros. I like having the recent macros list as a submenu because I have a very long list of macros in the Macro -> Macros menu. My use case isn't going to be typical, but I suspect at least some others will also have a long list of installed macros. And since it isn't an inconvenience for those with only 1 macro installed to have the submenu list, I say go with the submenu list.
Should we limit keyboard shortcuts only to the last 3 or 4 macros used and not for the last 9? I doubt anyone will be able to memorize them in the order of most recently used, and as openBrain points out, the shortcuts will change dynamically anyway. It might be sensible to limit to only the last 3 or 4, but here again, if there is no inconvenience to having the additional shortcuts, then might as well have them as not. There can also be the case where a user wants to run a certain macro at a later time. He can view the recent list to see which shortcut to use (for example, it might be Ctrl+Shift+7), then use that shortcut when ready to run the macro. Only downside I see to having all 9 is it increases potential for conflicting with other custom shortcuts (or possibly shortcuts used in workbenches I don't personally use).