OK, comunque se l'invio avviene corretamente dipende tutto dal server oppure c'è qualche browser che potrebbe non salvare il cookie perchè inviato dopo il tag <html>?
NON puoi inviare i cookie dopo aver inviato dei dati all'output buffer a meno di aver attivato l'output buffering.

Se attivi l'output buffering, anche se scrivi un codice come questo:

Codice PHP:
<?php 
print("<html></html>");
setcookie("TestCookie""Test");
?>
Il server invierà prima gli header (di cui i cookie fanno parte) e poi invierà i dati (nel caso qui' sopra "<html></html>").