proprio perche non lo lasci dopo WHERE devi metterlo prima di ORDER.
Le parole di una query devono essere separate da spazi, altrimenti non riconosce le parole chiave...
Supponendo che $vaRow[ID_CATEGORIA] sia 123, la tua query era:
Select * from sottocategoria WHERE ID_CATEGORIA=123ORDER BY DESCRIZIONE
che è MOLTO diverso da
Select * from sottocategoria WHERE ID_CATEGORIA=123 ORDER BY DESCRIZIONE
(la tua era: cerca ID_CATEGORIA = a 123ORDER e poi c'è un BY che non è riferito a niente. se mettevi $res=mysql_query($query) or die(mysql_error()); ti dava un syntax error.)