Le problème vient du fait que tu récupère tes menus dans un seul controller (MenusController) et non dans tous, donc dés que tu exécute une action définit dans un autre controller, automatiquement tu perdra ton menu.
Pour résoudre çà, il faut que tu récupères ton menu dans la fonction beforeFilter (ou beforeRender à voir) de ton AppController
public function beforeFilter {
$this->loadModel('Menu');
$this->set('menus', $this->Menu->find('all');
}
Le AppController étant le controller "maitre" de ton application, il sera automatiquement appelé avant n'importe quel autre controller.