Ese es el problema jeje, tienes activado el control de salida es por eso que puedes usar header despues de echo ya que el echo se imprime hasta que finaliza el total del script, prueba lo que sigue:
Código PHP:
echo "ahora!";
sleep( 10 );
echo "despues de 10 segundos";
Veras que al imprimir se imprime directo todo al momento y no es ahora, 10 segundos y luego despues de 10 segundos.
Saludos.