El campo es Char(), ya que así me lo creo al importarlo de access. Ahora que pienso deberia ser num.
 
De todas formas muchas gracias ya he encontrado la solucion buscando funciones para tratar cadenas en mysql. 
Esta es la sentencia 
$sql="SELECT `IDFACTURA`,`NFACTURA`,`CODIGOCLIENTE`,DATE_FORMAT  (FECHAFACTURA,'%d-%m-%y'),DATE_FORMAT(FECHACOBRO,'%d-%m-%y'), SUBSTRING(nfactura,1,4) AS num FROM $tabla WHERE SUBSTRING(nfactura,5)=04 order by num desc LIMIT $limite1,$limite2"; 
Con SUBSTRING(nfactura,1,4) consigo que me muestre los cuatro primeros caracteres, para luego tambien poder ordenarlos por esos valores y con SUBSTRING(nfactura,5)=04 filtro solo los que los ultimos valores de la cadena sean 04. 
Osa ordeno inversamente solo las facturas de 2004, para así ver cual fue la ultima que se asignó. 
Este es el resultado de la consulta:  
NFACTURA  CODIGOCLIENTE  DATE_FORMAT(FECHAFACTURA,'%d-%m-%y')  num  
012104     19200504E                   22-05-04                                   0121 
012004     18960504M                  12-05-04                                   0120 
011004     18990504E                   25-04-04                                  0110 
010904     18950504C                   06-04-04                                  0109 
010804     18920404C                   13-04-04                                  0108  
Como verán muestro en el orden deseado ordenando por la substring num. 
Obejetivo conseguido  
 
  
P.D.: Este pos creo que pertenece más a Bases de datos que a PHP ya que la solución al da MySQL y no PHP.