Пул соединений доступен с классическим ASP. Я бы реорганизовал этот код, чтобы использовать метод, который принимает строку соединения, и как можно быстрее открывал и закрывал соединение в этом методе.
По крайней мере, относительно использования соединения является тот факт, что вы не используете отключенные наборы записей (которые ADO.NET реализует по умолчанию). Отключенные наборы записей позволяют закрывать соединение и возвращать его в пул, как только вы выполнили запрос, вместо того, чтобы ждать, пока вы выполните итерацию набора записей.
Вот как вы это сделаете в JScript; должно быть просто портировать на VBScript:
var sql = "select * from MyTable";
var cn = new ActiveXObject("ADODB.Connection");
var rs = new ActiveXObject("ADODB.Recordset");
var nothing = rs.ActiveConnection;
cn.Open(connectString);
rs.CursorLocation = 3; //adUseClient
rs.Open(sql, cn, 3, 1);
rs.ActiveConnection = nothing;
cn.Close();
//now do something with disconnected rs