I dont use highlights but i assume there a marking up of a line being displayed somewhere, so it might be becuase mirc is already in the /ECHO code and cant reenter it.
Have you tried using .timer 1 0 echo blah blah blah ? thus allowing the highlight to complete and the echos to then display (i must admit using timer delayed echos isnt the best debugging idea in the world!) What ablout using /aline and a custom debug window?
* I think /FILTER has the same problem from memory, using the custom sort alias's you cant do another filter inside of them (or maybe im wrong about that) but it looks like some of mircs code isnt reentrant at least.