I don't think something like this (modifying menu dynamically while it is visible) can be easily implemented. In Symbian, one overrides DynInitMenuPaneL() to decide what menu items are displayed/hidden each time Options menu is opened - and those properties cannot change before it's closed and reopened - ie. DynInitMenuPaneL() is called again. This doesn't fit very well with Qt, where menu items are tied to QActions whose properties can change anytime.
Still, the way it currently works (Options/Cancel replaced by only Exit) is not ok. I can see from the bug report that it wasn't reproduced with latest sources - instead, it works how a Symbian application would.
On current release (4.6.2), a possible workaround is to force the Options menu to close before changing the properties of a menu action. It's not pretty, though.
#include <eikmenub.h> // symbian: LIBS += -lcone -leikcore -leikcoctl
CEikMenuBar* nativeMenuBar = CEikonEnv::Static()->AppUiFactory()->MenuBar();