Do you have the siteid attribute in the site tag?
<site description="Customer" siteId="customersite.com">
Are you running multiple sites? We found this happens when there's a mis-match between what site a domain name is configured in IIS and what the EPiServerFramework.config file says should be in that site.
When a request comes in, IIS maps it based on domain name. This initializes EPiServer inside the AppDomain of that site, and sets constants like PageReference.StartPage. If EPiServerFramework.config later says that a page from a different EPiServer site should be delivered within that same AppDomain, then you have this problem.
I got the same problem, for future reference check that in episerverframework.config in tag automaticSiteMapping the siteId match siteId in episerver.config
I had the same problem and I solved it by not using Cassini ;)
My web.config wasn't compatible with Visual Studio's IIS 6 compatible internal web server.
has anyone else had this error and know how to get rid?!?