Pues ..como no sea que no te está bajando todo el archivo (completo) o se "corrompe"? ...
El caso es que podrías usar más cabeceras HTTP para indicar entre otras cosas el tamaño del archivo que vas a descargar (por si hay problemas de ese tipo con tu navegador de pruebas).
En
www.php.net/header . .en los comentarios de los usuarios tienes ejemplos.
¿Por cierto . .has probato tu aplicación en otros navegadores y PC's a bajar esos archivos?.
Un saludo,