Si algo que usa cabeceras HTTP (header() ) crees que no funciona como esperas .. lo ideal es quitarselas (comentarlas) para ver si PHP te arroja algún mensaje de error ...
A simple vista se ve:
Código PHP:
$sql = "SELECT bin_data, filetype, filename, filesize FROM tbl_Files WHERE id_files='$id'";
fijate que usabas $id_files .. cuando por el link pasas la variable id de nombre .. no id_files
'download1.php4?id=$data->filename'
Un saludo,