its prob your browsers security settings.
for example, i know IE if set to the "medium high" security setting, will not accpet cookies that are not sent along w/ a valid p3p header.
you can read more by looking at the manual for setcookie(), in the user comments.
i really dont think its related to your expires setting, because session cookies dont specify an expires, and this is supposed to be the standard way to signal a browser to only hold onto the cookie until the browser is closed.
i think we would all be well aware of this issue if it was related to the expires parameter, as sessions wouldnt work for a lot of users unless the webmaster was aware and configured php from its default settings.