I had a problem when my CakePHP session wasn't saving from page to page and it turned out the session ID (from session_id()) was changing from page to page also.
It turns out to be a simple problem: I had pointed Apache to my app folder not my app/webroot folder.
This also caused webroot to be inserted into all my URLs as well.
Quick and easy fix. Long frustrating time to figure out. :P