Hola,
¿Es ese todo el codigo? Si es asi, no me extraña que no baje datos. Porque en ningun sitio le mandas el fichero al navegador. Mira el ejemplo en
www.php.net/header , fijate que al final usa readfile() (
www.php.net/readfile) para mandar el fichero.
Saludos.