estas en lo correcto, si el datatable tiene designado ese campo como string, en el combo los toma como tal por eso 10 es menor que 2.
lo que podrias hacer es antes de meterlo al combo cargar los datos del datatable en otro datatable.
aqui hay un ejemplo
http://www.dotnetcr.com/index.aspx?ID=3&art=17