Creo que sería mejor que te estuvieras basando en la serie, en lugar de solamente el folio.
Al crear tu factura, que se seleccione la serie que vas a usar para facturar y con eso obtienes el número de aprobación y el siguiente folio... te convendría tener un lugar donde vayas guardando el siguiente folio disponible. O podrías crear una tabla donde estén todos los folios que generaste e irles cambiando el estatus dependiendo de lo que le hagan a la factura (factura, devolución, cancelación).
Si solo vas a pedir el número de folio cuando solo tienes capturado el rango, creo que te la vas a complicar más de lo normal.
Por cierto, te recomiendo ampliamente que los números los manejes como números. Los folios nunca van a contener letras por lo que te recomiendo que los declares como int y no como char....
además, si lo dejas así como char, deberás tener MUCHO cuidado porque para un char en SQL, ' 1', no es lo mismo que '1 '... y cuando quieras ordenar por folio, te vas a topar con dolor de cabeza ya que primero va a ordenar todos los 1, luegos todos los 2, etc (1, 10, 11, 12... 2, 20, 21... 3, 30, 31...).
por último, al ser char(12), significa que siempre se van a guardar 12 caracteres, así que estas guardando valores:
cuando podrías guardar solo un caracter si lo tuvieras como int, o mínimo como varchar....