I wonder what you have censored under the dots in
on ^*:text:...... {

both these work for me, I dont have any script to modify the default text.
on ^*:text:*blah*:#:haltdef
on ^*:text:*:#:if (blah isin $1-) haltdef
both only halt lines with "blah" in them.

If you do have anything else to modify the default text, then It is more likely to not halt than halt even if the text does not match.