AS epp_b suggested, I think Sessions can get the job done. Hers my take on it, all downloads shudd b redirected to one php file, say download.php.
The download.php starts a session, enters a the session id to a Database and starts the download. When download.php is called again, it shudd check the number of Session ids entered in teh database and if it is already 10, give teh user an error message and if not add their session id to the database and start the databse.
One serious drawback of this approach is that u cant determine when a download actually gets done. I wudd suggest using a timeout. SO that after the specified time, all session ids, will be considered expired and deleted from the DB. But this is not a very practical solution cuz the download time varies drastically with the client's bandwidth.