I'm working on a GuiMenuCtrl of my own and I also have this problem. It'd be nice if the active attribute would block the function from occuring in the first place like it does with button controls.
Even if I run checks and return triggers that don't meet the conditions, it still destroys the context menu when you click a selection with active = false; which is a nuisance.
So hopefully this can be worked out.