¿No será que al pasarlo por querystring se pasa como si fuera una cadena de texto y al compararlo con un campo numérico te de ese error? Pueba de hacer
CInt(request.QueryString("id_manual")) y CInt(request.QueryString("separador")). No sé, es una idea