есть много программ для этого:
например, есть программа Мухамедьянова И.Р.
kad-in@yandex.ru. Делает MID/MIF. Как говорят знакомые не обрабатывает те участки в которых есть <Contours>, для него это как отсутствие геометрии.
И Инстер ГеоКонвертер конвертер тоже не может, проверил сейчас.
То что делал я на Java+geotools, для того чтобы разобраться с Java+geotools

, работает не всегда....XML-ки с ЗУ пока без ошибок, а КПТ-шки с ошибками.
Данные разбираются вроде как, но не всегда сохраняются в shapefile. В одном случае я разобрался, не нужно было использовать UTF-8 для полей в шейпе.
Проблема ещё была с данными (<Contours>

) -
viewtopic.php?f=1&t=8477&p=49311&hilit=Entity#p49311
Если бы задача была актуальна для меня до сих пор, я бы просто бы из <Entity_Spatial> "шарашил" бы полигоны в MIF и не парился бы с разбором (в geotools есть полигон - это внешний контур с дырками или без них, а если есть чересполосные контуры, то это уже мультиполигон, вот я и выёживался). А умные люди просто транслируют в текстовый MIF, а ГИС или ogr пусть сама его парсит.
Короче, с Java и geotools (JTS) я разобрался (junior), а с софтом облажался. К разработке никто не захотел подключиться, может бы и довели бы до ума. А такому "разработчику" как я ....