I realized tests here now and realized that session variables are persisted to the other controller actions only if I put it in an initialize method in the controller, otherwise if I create them within an action they are only persisted within that action, if I go to another action they are no longer displayed.
//This way works in others controller actions
//but not in another controllers
public function initialize()
    {
      $this->session->set('name', 'MarcosJr');
      $this->persistent->name = 'MJ';
    }
And even putting them in the initialize method of a controller if I go to another controller they are no longer displayed, I find it strange, I thought the session variables should be global, and before so it worked, I do not know coz no longer works this way, you have any idea?
Looks good.  The biggest difference I see between yours and mine are flash and modelsMetadata...  Maybe comment those out and see if session works?  Looking at the file, I have no other ides.