Почему ORDER BY DESC в mysql работает не в 100% случаев?
ORDER BY DESC  работает всегда однозначно и в 100% случаев.

если это не так: проблема на принимающей стороне.
Перепроверь, что тип поля действительно числовой а не к примеру varchar (хотя если там числа то это не должно что то менять)
Перепроверь что база данных не повреждена, может просто пересоздать индекс?