Pero si es una descarga "a tiempo" .. Para eso se debería usar las cabeceras META tipo refresh:
descargar.php
Código PHP:
<html>
<header>
<META HTTP-EQUIV=Refresh CONTENT="10; URL=<? echo $_GET['archivo']; ?>">
</header>
<body>
En 10 segundos se iniciará la descarga .. bla bla bla
</body>
</html>
Y lo llamas como descargar.php?archivo=cosa.zip .. o te gestionas tus descargas con alguna BD o cualquier otro médio para control y entrega del archivo por algun identificador ..
(y esto no es cosa de PHP sino de HTML ...)
mas info:
http://www.htmlhelp.com/reference/html40/head/meta.html
Un saludo,