yo tuve algo parecido a tu problema pero con algo de 8500 registros y cuandlo ejecutava me mandaba errror en tiempo asi que agregue esto al principio de pa pag
<%
Response.Buffer= true
Response.Expires = 2
%>
el response buffer lo use para poder ejecutar el Response.Flush ed la siguiente forma
Cita: While NOT rs_mon.EOF
texto_resaltado = rs_mon("US_Nombre")
texto_resaltado = Replace(lcase(texto_resaltado),buscador,"<b><font color= #ff0033>"& buscador &"</font></b>")
texto_resaltado2 = rs_mon("us_email")
texto_resaltado2 = Replace(lcase(texto_resaltado2),buscador,"<b><font color= #ff0033>"& buscador &"</font></b>")
%>
<tr onMouseOver="this.style.backgroundColor='#D1D175'" onMouseOut="this.style.backgroundColor='<%If cint(rs_mon("US_Suscriptor")) = 1 Then Response.Write("#eeeeee")%>'" <%If cint(rs_mon("US_Suscriptor")) = 1 Then Response.Write("bgcolor=#eeeeee")%>>
<td><%=texto_resaltado%></td>
<td><a href="mailto:<%=(rs_mon("us_email"))%>"><%=texto_r esaltado2%></a></td>
<td><%=SitioWeb(rs_mon("us_sitio"))%></td>
<td width="5%" align="right"> <input <%If (CStr((rs_mon.Fields.Item("US_Suscriptor").Value)) = CStr("1")) Then Response.Write("checked") : Response.Write("")%> name="checkbox<%=(rs_mon("us_id"))%>" type="checkbox" value="1" onClick="RecUpdate('<%=(rs_mon("us_id"))%>')"></td>
</tr>
<%selection= selection& rs_mon("us_id") &"," %>
<%
rs_mon.MoveNext()
Response.Flush
Wend
y me funciona de maravilla espero te sirva