es obvio... ya ke no le estas asignando la caducidad de la cookie (es el tercer parametro de setcookie()) aunke ya exista la cookie debes seguir asignandole una fecha de caducidad.... ademas recuerda que el parametro de caducidad se toma como segundos... entonces
30 son treinta segundos, suerte!
de ahi en fuera... tambien puede ser la configuracion de tu navegador (que tal si limpia cookies al salir)
http://php.net/setcookie