Това трябва да работи. Опитвали ли сте да покажете това, какво произвежда вашият CAST (ред КАТО DECIMAL)?
Поставете пример за данни, които се опитвате да сортирате. Може би имате нули там или числа, които не могат да се поберат в десетичен тип.
Каква версия на mysql използвате? Може би причината е следната (от помощта на mysql):