So I figured out the problem. I had nothing to do with what I thought it was. It was related to me trying to troubleshoot something else and having forgotten what I did in the intervening time between looking at the code and trying things.
Below is the offending piece of code. I ran some diffs between my code base and stock 3.67. Now that I've commented out the top line and uncommented the bottom line the announce strings work properly.
Code:
if (!to->desc || !SCRIPT_CHECK(to, MTRIG_ACT))
continue;
/* if (!to->desc)
continue;
if (!to->script)
continue;
if (!(to->script->types & 1 << 4))
continue;
if (!to_sleeping || !AWAKE(to))
continue;
if (PLR_FLAGGED(to, PLR_WRITING))
continue;
if (to == ch)
continue; */
/*if (!SENDOK(to) || (to == ch))
continue;*/