Aggiornamento pomeridiano!
Sono perplesso, ora funziona.
Non ho fatto che una modifica, aggiungere un altro header(), quello che calcola la dimensione del file da scaricare: header('Content-Length: ' . filesize($file)); un po' strano, ma forse è perché tronca la dimensione al file effettivo, non so mi pare una ...str... tr ma no, non è così, tolta la modfica ha comunque funzionato, quindi non è quella.
Mistero della fede!