Bien... sea que hayas iniciado una sesión o no, debes tomar en cuenta que tanto las cookies como las sesiones son parte de la cabecera de HTTP, por tanto deben ser leídas antes de la lectura STD estandar y el envio de información (etiquetas html o echo o print), de tal manera que no puedes escribir cookies (que es lo que te está pasando) si ya haz realizado un echo, un print o enviado contenido HTML...
Si requieres "APREMIANTEMENTE" escribir información antes de mandar a escribir las cookies o las variables de sesión, te recomiendo que inicies sesión y hagas un "buffer" de lectura de los datos previos de la siguiente manera..
session_start();
ob_start(); //Inicia un buffer para la salida estandar...
echo $nombreusuario;
sendcookie('nombre', time()+3600);
//cuando estés seguro de que puedes enviar la informacion...
ob_flush(); //envia la info generada por la salida std...
prueba y me dices...