ho detto una boiata... fammi pensare
Sai che temo non si possa fare? Perché tu setti un header che è un file. Il browser interpreta quella pagina semplicemente come un file fisico vero e proprio e non come un codice. Quindi non può esserci altro output dopo.
Temo che ci sia da architettare qualcosa in Ajax, una sorta di controllo sui byte scaricati. Una volta completato il download ti dà l'output...
Domanda interessante. Ora devo uscire, ma prometto che ci penso, a meno che non ti illumini qualcun altro prima.