Может быть и решалось бы, если атрибуты не двигались вручную. Кроме того в показанном тобой коде этой строки нет. И такая строка обычно используется при создании атрибута, а ты его не создаёшь - ты его копировал из другого блока.
Просто я тут уже перепробовал все, что можно. Сделал второй вариант кода - немного другую концепцию (просто подумал, что, возможно, проблема была в DeepCloneObjects).
Что-то более соответствующее тому, что предлагал
Дмитрий Загорулькин.
- считываем свойства исходного блока
- вставляем новый блок
- задаем ему свойства из исходного
- удаляем исходный блок
И вот в пункте, где вставляем новый блок, я создаю атрибуты, как и должно быть. Так вот, там эта строчка есть. И даже, если сделать так, они разлетаются.
В общем, у меня выходит их собрать только при помощи SendStringToExecute.