Bueno, entonces la parte lógica ya está casi en su totalidad, y tu problema es con la impresión de los datos no?
Código:
<%
x = 1
%>
<table border=1 cellpadding=2 cellspacing=0>
<tr>
<td>
<%
While not rs.EOF
If x mod 5 = 0 Then
Response.write "</td><td>"
x = 1
End If
Response.Write rs("campo") & "<br>"
x = x + 1
rs.MoveNext
Wend
%>
</td>
</tr>
</table>
Algo así...en realidad lo único que hay que controlar es el flujo de una variable para que cuando sea dividida entre 5 y su residuo sea 0, imprima una columna más y continúe con la impresión de los registros.
Salu2,