Lösung:
Eine Session wird immer nur für eine Domain erstellt. Subdomains werden nicht beachtet. Das heißt wenn jemand auf domain.de kommt und dort eine Session gestartet wird und dann auf einen Link geht der auf www.domain.de leitet dann ist die Session dort nicht mehr gültig.
Schon heftig dass das nicht mal für www. gilt. Das bedeutet in der Praxis sicherlich viele Sessionabbrüche nur weil die Webmaster dieses Verhalten nicht kennen...
Nun, der Code um das zu lösen kommt vor den ersten Sessionaufruf und lautet: ini_set("session.cookie_domain",substr($_SERVER[HTTP_HOST],3));
Damit klappts dann. Im zweiten Teil muss einfach .domain.de stehen. Damit werden die Subdomains abgedeckt. Im Beispielfall aus der Servervariable geholt...
Grüße!
Sebastian