Bueno .. que PHP (o mejor dicho Mysql) entienda "mal" tu 10 es problema del típo de dato que guardas ese valor .. SI lo guardas como un "VARCHAR" .. ahí es donde se "equivoca" .. y no es que se equivoque sino que lo ordena como "cadena" y no como un INT u otro tipo numérico .. Así que revisa ese punto ...
Lo segundo .. lo de formatear decimales .. usa:
number_format()
http://www.php.net/manual/en/function.number-format.php
(en las FAQ's de este foro PHP tienes tambíen una explicación al respecto ..)
Un saludo,