Константин Соков, мне не жалко выложить, но стыдно. Корявость и криворукость в коде напрягают даже меня. Рефакторинг сделаю пару раз и выложу.
Андрей Бушман, Намекаешь на предварительный выбор? Нет, он не обрабатывается, ищутся все вхождения выбранного блока только в пространстве модели. Блок отметок использовал для проверки выбора измененных динамических блоков и как будет работать dll с тегами атрибутов содержащих "_".
Основная цель преследуемая при написании этой dll, это поиск блоков. Найти занумерованное отверстие, пояс. Что там с ним дальше делать, дело десятое. Главное найти.