Условия возникновения ошибки:
1. Нужно выбрать сегмент полилинии (может быть и 2d и 3d). Его я вычисляю по полученному ObjectId и PickedPoint из запроса PromptEntityResult.
2. Координаты Z вершин полилинии отличаются от нуля.
3. DSC повернута относительно WCS.
Полученный PickedPoint обычно имеет координату Z = 0. В общем случае, получаем PickedPoint визуально близкую к одному сегменту, но на самом деле по расстоянию - ближе к другому сегменту (за счет вышеописанных условий. И метод GetClosetPointTo без Vector3d дает неверный ответ. Это Vector3d я вычисляю как вектор из точки VIEWDIR и Point3d.Origin. В других местах, где я использую GetClosestPointTo без Vector3d, проблем не возникало.