Spójrz w manual: http://php.net/manual/en/function.setcookie.php
Konkretnie chodzi o przedostatni parametr funkcji (secure). Masz go ustawionego na true, a więc dzieje się zgodnie z tym:
Indicates that the cookie should only be transmitted over a secure HTTPS connection from the client.
Rozwiązanie: zmień tę opcję na false, lub używaj połączenia HTTPS.
Poprawiony kod:
<?php
setcookie('TestCookie', 'TEST', time() + 3600, '/', 'localhost', false, true);