This was changed recently. It used to grey out the unavailable menu items based on current status. Turns out it was causing performance issues since right clicking on the a part meant it had to query the database to check on the status. In a low latency environment, this was causing significant delays, and right-clicking on parts is something you do a lot.
As for the flyout menu, its wasn't always there. The right click menu was getting too long and going off the screen.
you've described the problem and its current solution exactly. However, I believe that if the number of queries to the database is to be reduced, then surely making independent icon commands available for use "on demand" rather than "permanently available" would go a long way to solving this problem. I know that moving the choice away from the RMB dropdown will cause many initial irritation (I'm one of them!), but the improvement in performance must outweigh the minor discomfort at the end of the day.
It is right that Solidworks introduced the Flyoutmenu beacause of Delays in slow enviroments.
But it is pulling the information when the Flyout opens, so why are the not available Option not greyed out?!
And why can't Solidworks let the user decide which solution is the best for him?! They could give you the option use the old style or the new one.
Anyway there is a Enhancement Request to get the old menustyle back: SPR 884263
Enhancement: Allow option to control if selected file in FM should automatically activate the row in add-in tree to enable/disable buttons as in 2014
Just vote on it.