I had exactly the same problem at my forum
i think i found the problem
my server is in GMT+1 timezone
my webbrowser is in GMT + 9 timezone
the timestamp thats set as the expire time is 1231694940 (Sun, 11 Jan 2009 17:29:00 GMT)
the timestamp thats used at the browsers end is 1231723740 (Mon, 12 Jan 2009 01:29:00 GMT)
so i think this is a timezone problem ...
the problem is that phps time() function is using systems local time and not GMT time ...
a solution could be to use gmdate('U') to generate the base timestamp for the cookie time.
currently i can't test this, but i will test it tomorow
ah, and why does this only happen when the remember me is not checked? well if remember me is checked the expire time is big enough to supress the timezone problem.
I've finally learned what "upward compatible" means. It means we get to keep all our old mistakes.
The limits of language are the limits of one's world.