semplice: dmy e' un numero dove l'anno si trova a dx ed il giorno a sx.

traduci in valore reale un esempio della tua data: 12-01-09, composto come dmy diventerebbe 120109. Ora fai un confronto sempre per esempio con la data 10-02-09 che diventerebbe 100209.

bene. ora confronta:

120109 e' maggiore o minore di 100209 ????

Se invece la data la tratti come si trattano i numeri, cioe' piu' significativo a SX e meno significativo a DX avresti:

data 12-01-09 diventerebbe ymd e cioe': 090112 e la data 10-02-09 sarebbe 090210

ora confronta: 090112 con 090210 e vedrai che la data piu' recente sara' la maggiore.

questo basicamente, cioe' senza entrare nel merito del tuo script che potrebbe essere opinabile, ma di cui volutamente mi disinteresso poiche' e' viziato da questo errore di forma (il confronto dmy ).

Eventualmente confronta i timestamp ottenuti da mktime.