lo que sucede es que las cookies deben enviarse al navegador antes de cualquier salida de tu script...
entonces, al momento de utilizar
setcookie() no actualiza automáticamente la global $_COOKIE, de modo que solo verás el resultado en la próxima llamada de $_COOKIE y así sucesivamente...
te sugiero consultar el manual... ;)
http://php.net/setcookie