Guarda, la seguente è una funzione che ho utilizzato tempo fa e che dovrebbe funzionare, non so se fa al caso tuo:
Codice PHP:
function dload($filename)
{
header("Pragma: public");
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Content-Type: application/octet-stream");
header("Content-Disposition: attachment; filename=".$filename.";");
header("Content-Transfer-Encoding: binary");
}