Bueno .. ferny .. estas sufriendo los problemas de la NO standarización de los navegadores ..
La mejor solución es que "identifiques" primero que navegador está en el Cliente y de ahí le "tires" las cabeceras HTTP adecuadas para cada uno .. Pues cada navegador "entiende" de una manera las cabeceras que le indican que el archivo ha de ser para "descargar" y otros datos del archivo ..
Chequea este sitio:
http://forums.devshed.com/showthread.php?threadid=30809
Un saludo,