Но стоит мне открыть блок в редакторе блоков, внести изменения и сохранить, так блок перестаёт выделяться по маске
Тут скорее всего и кроется твоя проблема.
Есть блок BlockTableRecord, есть вставка блока BlockReference. Выделяешь ты BlockReference, а в редакторе редактируешь BlockTableRecord.
Если BlockReference совпадает по параметрам с BlockTableRecord то BlockReference ссылается на "основной" BlockTableRecord. Если отличается, то ссылается на другой, анонимный блок BlockTableRecord.
После правки BlockTableRecord, через редактор блока твой BlockReference стал отличаться от BlockTableRecord и стал ссылаться на другой, анонимный блок BlockTableRecord. Возможно так происходит всегда, при редактировании динамических блоков, возможно только при изменении динамических свойств, имен свойств, я лично не проверял, не знаю.
На будущее, лучше описывай, какие изменения ты вносил в редакторе блока, и код вставки блока. Быстрее можно сообразить, что может быть не так.