Hola! yo estaba tambien forzando bajar los archivos y encontre varios codigos [quizas ya los tienes

] pero te los pego por sia..
en este la diferencia con el tuyo es una @ antes del readfile, la verdad no se cual es la diferencia, ya que probe con y sin @ e igual me funciona.
Código PHP:
<?php
header ("Content-Disposition: attachment; filename=".$file."\n\n");
header ("Content-Type: application/octet-stream"."\n\n");
header ("Content-Length: ".filesize($url)."\n\n");
@readfile($url);
?>
en el mismo lugar donde encontre ese codigo aparece:
Código PHP:
<?php
header( "Content-type: application/savingfile" );
header( "Content-Disposition: attachment; filename=$file" );
header( "Content-Description: Document." );
readfile("$url");
?>
[este si que no me funciona bien, en el archivo a descargar le adiciona el codigo html y javascript de la pag de donde lo llamo

]
y por ultimo, un codigo que me fue dado en este foro, q tampoco me funciona y es mas corto que los otros

:
Código PHP:
<?
header ("Content-Disposition: attachment; filename=".$file.";" );
header ("Content-Type: application/force-download"); */
?>
bueno espero q alguno de esos te pueda ayudar ya que viendo el codigo tuyo no le veo ningun ptoblema

a mi ese mismo que tu usas me funciona perfecto, no se si tenga que ver que mi archivo q deseo forzar a descargar esta en la misma carpeta donde esta el archivo .php

de todas maneras deberia funcionart