Non so bene come usi i risultati trovati ma con limit 1 ,l'array che ritorna la query e' per un solo record del db. Non so se dopo la query hai un cilco per fare altro. In quel caso il ciclo non avanzerebbe dopo il primo giro.
Cmq la sintassi e' giusta:
SELECT campi FROM tabella ORDER BY campo DESC LIMIT 1
Estrae il primo record a seconda dell'ordine dato
Prova la query direttamente a db e vedi.