Prueba así:
Código sql:
Ver originalSELECT campotexto
FROM `tabla`
ORDER BY REPLACE( REPLACE( REPLACE( REPLACE( REPLACE( REPLACE( REPLACE( REPLACE( REPLACE( REPLACE( SUBSTRING_INDEX( campotexto, '.', 1 ) , 'CM', 'ZZZZ' ) , 'M', 'ZZZZZ' ) , 'CD', 'YYYY' ) , 'D', 'YYYYY' ) , 'XC', 'XXXXXXXXX' ) , 'C', 'XXXXXXXXXX' ) , 'XL', 'XXXX' ) , 'L', 'XXXXX' ) , 'IX', 'VIIII' ) , 'X', 'VIIIII' ) , CAST(SUBSTRING_INDEX( SUBSTRING_INDEX( campotexto, '.', 2 ),'.',-1) AS UNSIGNED ) , CAST( SUBSTRING_INDEX(SUBSTRING_INDEX( campotexto, '.', 3 ),'.',-1) AS UNSIGNED ), CAST(SUBSTRING_INDEX( SUBSTRING_INDEX( campotexto, '.', 4 ),'.',-1) AS UNSIGNED )
Como ves, he hecho una mezcla entre la propuesta de K-SUMA y la mía sobre los números romanos.