Hola excitex2, gracias por tu respuesto, pero ya había comprobado que la ruta sea la correcta, he añadido un echo para que me enseñe la ruta completa a donde va a "buscar" el fichero y es correcta, siempre y cuando el fichero sea menor de 5MB. Si es mayor por lo que he podidio comprobar el problema está en la función get_file_data($file_path) al hacer el ob_start, tengo el php.ini con un memory_limit de 8Mb y por ahora no puedo cambiarlo

, por eso preguntaba si había alguna forma de llamar directamente al fichero sin pasar por download.php o llamando a download.php pero que llame directamente al fichero que sea.
El error 404 me lo da el Explorer, el FireFox, por ejemplo, no hace nada intentar cargar "algo" pero se queda en la misma página.
Como decía en mi primer post he mirado el código pero aún no lo entiendo...

Agradecería cualquier ayuda....
Saludos