En mi particular punto de vista On Error debe ser utilizado para dar alternativa a "errores" y por errores yo entiendo a eventos especiales que no pueden ser previstos por código. El hecho de si un archivo esta o no esta, pues es una simple validación, pero el caso de si el archivo esta bloqueado, por ejemplo, si es un candidato para el on Error (si es que el lenguaje no proporciona mecanismos para verificarlo).
En VBScript no existen mecanismos estructurados de manejo de errores y creo que no hay métodos para uno arrojar (raise) errores propios. Entonces nos quedan solo manejos genericos de errores para todo aquello que no se pueda validar. Aunque siempre tendremos la alternativa de una página de error a nivel del IIS.