The half-the-time they're in channel window, are they appearing in what was the $active window at the time? Otherwise, is there something in common the messages have which go to the wrong location? keyword, etc.
Are they appearing only in 1 place, or do they sometimes have a duplicate echo both in the proper window plus the channel window? There might be a script that intercepts the pm and echoes to another place. If these PM's are DCC CHATs, the event is ON CHAT. If they're a Query window, it's the ON TEXT event with location being either "?" or "*".
In the Alt-R window, if you uncheck "events" from the 'Listen' menu and that causes this to stop happening, then it's almost certainly one of the above causes. (Just don't forget to re-check 'events'.) If you have trouble locating the unruly script by searching for ':TEXT' or ':CHAT', you might need to unload your scripts until it stops happening, or reload them again until it starts happening.
One of the important things to do when tracing down a bug is to add some predictability to it. If you can identify a situation when it's guaranteed to happen, as well as when guaranteed to not happen.