Yo opté una vez por rellenar un recordset con los datos del FSO y hacerle un "objRs.Sort=NombreCampo".
¿por qué? Pues no lo recuerdo con exactitud

pero creo que era por que al hacer el ordenamiento por el método de la burbuja, al ordenar por la fecha de modificación del archivo, ordenaba como si fuera texto en vez de fechas. Por lo tanto, 28/09/2005 era una fecha menor que 31/08/2005