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