Recordaras que ya te había mencionado la causa del error:
Cita: Ok ... después de hacer algunas pruebas veo que el adicionar un charset al WinHttpRequest con el método SetRequestHeader no funciona (no he caído en cuenta el por que ), ya habrás notado que el error lo causan los apóstrofes invertidos ‘ ’ que tienes en la descripción del sw incluido
Por eso lo de la codificación, esas comillas las tienes en tu BD's pero esta debe de tener alguna codificación distinta a las que estamos probando, por eso el código no las puede interpretar.
Debes investigar la codificación de tu base de datos e igual el server a esa, para eso es response.Charset, incluso creo que hay un objeto especial para estos casos de chilisoft o chilikat, ya no recuerdo
Sobre el procesar tal cantidad de archivos, supongo que con tu validación de su el fichera ya existe, verás que solo una vez vas a procesar esos 25000, el resto de las veces supongo solo serán unas cuantas docenas cada día, no se.
Aquí la solución es detectar esos caracteres problemáticos y eliminarlos; ya sea cambiando el juego de caracteres, o desde la base de datos, no se que sea más viable para ti, dependiendo de tu urgencia en terminar esta tarea.
Saludos