(5) А попробуй вызвать ИзменитьСтроку "по кнопке". Если сработает - значит ограничение на ее вызов из событий изменения строки. Можно обойти через костыль с обработчиком ожидания.
Точно из-за ПриИзменении() ломается? Странно...
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший