Выслал свои программки...
НО!!! Провел такой эксперимент.
Имея только shp, импортировал его в EasyTrace, а затем экспортировал.
И все ОК. SHX восстановился!
Заменяем полученный dbf исходным и наслаждаемся
ВАЖНО. Между импортом-экспортом не делайте ничего в проекте, иначе можно что-нибудь сдвинуть и нарушить связь с dbf.
Этот способ удобнее тем, что если в процессе импорта загрузить еще и атрибуты, то можно еще и отредактировать шейп. Если это конечно необходимо.