Es más simple que todo ese código, o almenos es de la forma que lo uso yo.
Código PHP:
$Descargar = ; // Directorio y nombre de archivo con extensión
header("Content-disposition: attachment; filename=$Descargar");
header("Content-type: application/octet-stream");
readfile($Descargar);
Si quieres prueba a añadir a tu código el readfile simplemente.
De la forma que te he puesto te descarga todo tipo de arvhivos, sea cual sea la extendión.
$Descargar es la dirrección del arvhivos que ahs guardado en la BD, como puede ser $Descargar = "Archivos/".$BD; por ejemplo.