Ok, las diferencias son las que ya te puse:
Cita: primero, estas usando un objeto command y estas definiendo parámetros al objeto, entonces creo solo debes llamar el método .Execute. Segundo, yo siempre les defino longitud a los parámetros aunque sean numéricos
Cuando dices que ya debugueaste, ¿imprimiste en la página todos y cada unos de los campos de del recordSet
rsValor, así como el parámetro
Request.Form("random") ?, ¿ya comprobaste que la consulta
Request.Form("QUERY") te regresa valores?