No lo has entendido...
DATE es una función que devuelve el número del año. Cuando la pones en el ORDER BY, ordena las cosas por el año.
Pero como método de ordenamiento es insuficiente, porque MySQL además ordenará cada grupo de años por el pprimer campo invocado... y si es el de fecha, bueno, ordenará de ese modo.
Lo que puede ser que tengas es:
1) Criterios de ordenamiento insuficientes.
2) Una columna llamada "DATE", lo que e una metida de pata, porque es una palabra reservada, y
no se deben usar palabras reservadas como nombres de objetos.
Un detalle que si puedo decirte es que equivoqué la función a usar, pero no generará diferencias visibles a menos que los años y los días estén entremezclados: