I was expecting every time you disable the parent menu, all sub menus and shortcut keys will be disabled as well.
You only disable the path to the submenu item.
There is no reason to assume the underlying items get disabled.
Consider using action lists and disable the actual actions you want to prevent from happening.
What is weird though is that the actions are executed twice...