Se riesci a far inviare dalla script php al browser i dati un tanto alla volta e non tutti insieme puoi avere una buona approssimazione del termine dei download.
Il problema è scoprire se il php mette insieme il file da inviare al browser tutto insieme oppure no.

Crea uno script di download con un file molto grosso e metti alla fine di tutto il ciclato una chiamata alla funzione mail.
se la mail ti arriva prima della fine del download che farai (mi raccomando, in rete) allora non puoi fare molto.