I'm struggling with a similar problem right now. My problem seems to be that the PHPSESSID cookie stays on the client after I want it to be gone. Like Jord, I have found session_unregister() to be useful. Using session_destroy() is problematic for me because users might leave without explicitly logging out (I can't session_destroy on every page).
I use this to check current cookies and sessions:
//this will show you all the current cookies
echo "<hr>HTTP_COOKIE_VARS<p>";
While (list($key,$val) = each($HTTP_COOKIE_VARS))
{
echo "The <strong>" . $key . "</strong> cookie is set to : " . $val . "<p>";
}
//this will show you all the stored session variables
echo "<hr><strong>HTTP_SESSION_VARS</strong><p>";
While (list($key,$val) = each($HTTP_SESSION_VARS))
{
echo "The <strong>" . $key . "</strong> session variable is set to : " . $val . "<p>";
}