Il fatto è che nel nome del file tu puoi scrivere quello che vuoi, ma sempre l'ordine alfabetico verrà usato, non puoi specificare un altro tipo per il nome del file, quindi è ovvio che 14_10 venga prima di 14_2.
La soluzione è nominare i file in questo modo: pensare all'ordine di grandezza massimo di foto che potranno essere contenute nella cartella (10, 100, 1000...) ed usare il numero massimo di zeri di cui è composto l'ordine di grandezza che hai scelto, ad esempio, se decidi che sia 1000
14_000
14_000thumb
14_001
14_001thumb
14_002
14_002thumb
...
14_999
14_999thumb
questo formato, lo scandir te lo ordinerà come ti aspetteresti.
Questo se il numero prima dell'underscore è fisso all'interno della cartella, altrimenti vale lo stesso discorso fatto per i numeri dopo, perché di nuovo 14_120 verrebbe prima di 2_001, ma dopo 02_001
EDIT: praticamente lo stesso suggerimento che hai avuto qui su, stavamo postando contemporaneamente.