Prueba así:
Código PHP:
<?php
if(isset($_GET['id'])) {
$conexion=mysql_connect("localhost","root","") or die ("no se ha podido conectar a la BD");
mysql_select_db("archivos") or die ("no se ha podido seleccionar la BD");
$sql = "SELECT archivo_binario,archivo_tipo,archivo_nombre FROM archivos WHERE id='".$_GET['id']."'";
$consulta = mysql_query($sql,$conexion) or die( "Error en $sql: " . mysql_error() );
$datos = mysql_fetch_row( $consulta );
$tipo = $datos['archivo_tipo'];
$archivo = $datos['archivo_binario'];
$nombre = $datos['archivo_nombre'];
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Cache-Control: private",false);
header ("Content-type: $tipo");
header("Content-Disposition: attachment; filename=\"$nombre\"\n");
header("Content-Transfer-Encoding: binary");
echo $archivo;
}
?>
Saludos.