If you have two sites that you are working on on the same server, that could be your issue. For example, I would run into this issue when developing two separate sites on the same shared host.
Site A:
http://sharedaddress.com/~sitea
Site B:
http://sharedaddress.com/~siteb
The problem is that the sessions would be stored based on the permissions for sharedaddress.com, and not the site I was working on. When I would switch over to the new site, it would be unable to access the session variables, and I would get the permissions error mentioned above.
To solve this issue, I would use the IP address to go there directly (since typically the site was not live yet).