Intenta ordenar así (he llamado al campo donde tienes los números romanos 'nivel'):
SELECT * FROM niveles ORDER BY REPLACE( REPLACE( REPLACE( REPLACE( REPLACE( REPLACE( REPLACE( REPLACE( REPLACE( REPLACE ( nivel, 'CM', 'ZZZZ' ) , 'M', 'ZZZZZ' ) , 'CD', 'YYYY' ) , 'D', 'YYYYY' ) , 'XC', 'XXXXXXXXX' ) , 'C', 'XXXXXXXXXX' ) , 'XL', 'XXXX' ) , 'L', 'XXXXX' ) , 'IX', 'VIIII' ) , 'X', 'VIIIII' )
Esto es el resultado de un experimento mío que puedes leer en este post:
http://www.forosdelweb.com/f86/orden...-mysql-634535/