From a quick glance back at your code I can't see a function you could call to run that menu, it's the second half of your game function after the MapEngine() call which means the code won't be evaluated until the MapEngine has ended.
You need to break the menu out into its own function:
function gameMenu()
{
var myMenu = new Menu();
myMenu.addItem("Item 1", "Item 1", Exit);
myMenu.addItem("Item 2", "Item 2", Exit);
myMenu.addItem("Item 3", "Item 3", Exit);
myMenu.preRender = function()
{
if (IsMapEngineRunning())
{
RenderMap();
UpdateMapEngine();
}
}
myMenu.execute(GetScreenWidth()/2-80, GetScreenHeight()/-40,160,80);
}
Then BindKey(KEY_TILDE, gameMenu, ""); should work. Note the above function will need to be defined globally (i.e. not inside the game function) in order to be reachable by the mapengine.