Si lees el manual de header() entenderás la razón del error:
Cita:
Iniciado por http://php.net/manual/es/function.header.php Recuerde que header() debe ser llamado antes de mostrar nada por pantalla, etiquetas HTML, líneas en blanco desde un fichero o desde PHP. Es un error muy común leer código con funciones como include o require, u otro tipo de funciones de acceso de ficheros que incluyen espacios o líneas en blanco que se muestran antes de llamar a la función header(). Sucede el mismo problema cuando se utiliza un solo fichero PHP/HTML.
Así que de "incomprensible" no tiene nada el error, es muy claro y está documentado.
Si usas un traductor podrías entender lo siguiente:
Cita: output started at /Applications/XAMPP/xamppfiles/htdocs/aprendamos/Plataforma/Cabecera/CabeceraRol3.php:63
Eso dice que la "salida" se comenzó desde la linea 63 de dicho script, así que por esa razón header() no "funciona".