// Перебрать все объекты
while (updateFeature != null)
...
// Следущий объект
updateFeature = updateCursor.NextFeature();
Вы же перебираете все объекты, вот они все и двигаются.
Как получаете очередной объект, сделайте проверку, прочитайте какое-нибудь поле (IFeatureCursor.FindField, IFeature.get_Value). Если удовлетворяет - трансформируйте фигурку, если нет, то значит NextFeature и continue.
Или вообще может быть стоит получить курсор, который пройдёт только по выделенным объектам слоя и будет передвигать только их.
З.Ы. Объект трансформации не обязательно пересоздавать на каждой итерации.