Cita: ahi se deberia de ejecutar primero la consultas y luego descargar el programa, ya que ese es el orden no?,
Sí, tiendes toda la razón: pero olvidas algo.
En dicho proceso imprimes el formulario siempre, siempre, siempre, siempre... no importa si estás forzando la descarga más abajo: siempre imprimes el formulario.
¿O me equivoco?
O bien, vamos a suponer que no imprimes el formulario ¿pero sí sabes lo que significa "salto de linea" o "espacio en blanco" verdad?
Eso es también un motivo que genera salida: y es posible que tus include/require imprimas o produzcas algún tipo de salida, y además entre el ?> y <?php que tienes en tu código se genera otro salto de linea.
Son muchas causas las que producen salida, ¿por qué no muestras el mensaje de error completo como te he pedido desde un principio?