Es el último pedazo que has puesto.
En la línea 647 de form.txt
For Each Field in
Request.Form
Ahí es donde se emplea antes de instanciar el objeto. Ese es el problema.
Yo me plantería buscar una alternativa a ReadBytes. Emplea request.Form en su lugar y valida bién cada campo, por ejemplo.
Lo contrario sería modificar el pedazo de código que empieza en la línea 647 que te he comentado para que no emplee Request.Form. (Ojo, si buscando algo en el objeto Request sin especificar la colección 'form' también es peligroso puede ASP puede, internamente, referenciar la colección form y estamos en las mismas).
Por cierto, y no te enfades, pero tabular el código ayuda bastante (aunque los grandes carteles de comentarios que tienes al inicio de cada función lo suplen bastante bién), y poner los comentarios en castellano permite que, en el caso de que alguien que no hable tu idioma revise el código, sepa por donde anda. (OJO, es solo un comentario distendido..., no te enfades por ello

)