Oh, well, screw me... I didn't realize you had to prefix an event with ^ to allow a /halt to stop display. I got that from the help channel on efnet =(

If anybody would like a copy of my workaround, I'll post it:

on ^*:action:**:#: {
if ((10 isin $$1-) || (11 isin $$1-) || (12 isin $$1-) || (13 isin $$1-) || (14 isin $$1-) || (15 isin $$1-)) {
goto colorsenda
}
elseif ((1 isin $$1-) || (2 isin $$1-) || (8 isin $$1-)) {
/echo $chan 6[ $+ $asctime(HH:nn) $+ ] * $nick $replace($$1-,1,14,2,12,8,7)
/haltdef
}
:colorsenda
}

on ^*:text:**:#: {
if ((10 isin $$1-) || (11 isin $$1-) || (12 isin $$1-) || (13 isin $$1-) || (14 isin $$1-) || (15 isin $$1-)) {
goto colorsend
}
elseif ((1 isin $$1-) || (2 isin $$1-) || (8 isin $$1-)) {
/echo $chan [ $+ $asctime(HH:nn) $+ ] < $+ $nick $+ > $replace($$1-,1,14,2,12,8,7)
/haltdef
}
:colorsend
}

just plop that into your remote, and as-is it replaces 1, 2, and 8. 1 and 2 are *really* low contrast on black, 8 is just annoying. I haven't checked to make sure the log's still working, but /haltdef says it doesn't halt anything but the text. Of course, a lobotomized chimpanzee could probably code something more elegant and versatile than this, and I'd *still* like the feature implemented in mirc itself so I don't have to migrate this over to future versions... But this works right now.