El primer punto es totalmente falso, no hay una diferencia significativa entre require/require_one más que la segunda evita cargar el mismo script dos veces y eso no necesariamente afecta a header().
En todo lo demás tienes razón excepto lo del exit que es relativo al contexto del script en ejecución, a todo esto, ¿cual es el objetivo de abrir este tema?