Mira la verdad de las cosas es que no es tan facil como parece... tienes que hacer una tabla en tu base de datos donde relaciones a cada usuario con cada descarga para saber si ha descargado mas de N veces ESA descargfa en particular... eso te lo dejo a ti pero una vez que lo tengas  algo de código que te puede servir...
  download.asp 
Código:
 <% 
 Response.Buffer=TRUE 
 url = Request.Querystring("url") 
 usuario = Session("usuario")
 if url <>"" then
 Set oConn = Server.CreateObject("ADODB.Connection")
 oConn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source="&Server.MapPath("bd/base.mdb")&";"
 strsql = "SELECT * FROM descargas_usuarios WHERE usuario = '" & usuario & "'" 
 Set rs = Server.CreateObject("ADODB.RecordSet")
 RS.open strsql, oConn, 3, 3
 if rs.eof then
     rs.AddNew
     rs("descargas")= 1
     rs("url") = url
     rs.update
 else
     rs("descargas")=rs("descargas")+1
     rs.update
 end if 
 rs.Close
 set rs=nothing
 oConn.Close
 response.redirect url
 end if
%>
  al mostrar las descargas 
Código:
 <%
 Set oConn = Server.CreateObject("ADODB.Connection")
 oConn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source="&Server.MapPath("bd/base.mdb")&";"
 strsql = "SELECT * FROM descargas_usuarios WHERE usuario = '" & usuario & "'" 
 Set rs = Server.CreateObject("ADODB.RecordSet")
  rs.open strsql, oConn, 3, 3
 strsql1="SELECT * FROM descargas"
 Set rs1 = Server.CreateObject("ADODB.RecordSet")
   rs1.open strsql1, oConn, 3, 3
if rs("descargas") < 2 Then
response.write("<a href=""download.asp?url=" & rs1("url") & """>Descargar</a>")
else
response.write("Descarga denegada")
end if
%>
  Espero te sirva saludos y suerte