In qualche modo non sono riuscito a eseguire la query con CAST . Ricevevo sempre Error Code: 1064 near "DECIMAL" (o altro tipo numerico che ho scelto). Quindi, ho trovato un altro modo per ordinare varchar come numeri:
SELECT *
FROM mytable
ORDER BY ABS(mycol)
Un po' più semplice e funziona nel mio caso.