The best solution I've seen for this problem is rather devious, but it works nicely.
1) In a completly separate dialog box, such as the about dialog, make a few graphic objects that respond to clicks
2) After some sequence of clicks in the correct order, pop up a dialog box to ask for a string, but don't explain in any great detail what that string does. Store the string in a global variable.
3) In the menu's getfocus event, check the global string. If it has an acceptable value (you may have more than one password), make the menu or menuitem visible, if not then make the menu or menuitem invisible.
A bit of work to code, but it is simple to use and highly resistant to brute force attack because most users will try to attack the wrong form looking for how to enter the password!