Hmm, I see. Would it not be a better idea to just permanently ban anyone who does such a thing, and then run a quick SQL query deleting all the PMs they sent out (if there are many)?
Additionally, you could set it up so that such a usergroup was only able to PM one person at a time, and then enforce it so that you can only send out one PM every minute or two. If there are any spammers who would spend an hour on a website just so they could send out 60 PMs, I'd be surprised.
You could even make it longer - 2-5 minutes - and it'll probably work even better while causing people who are having legitimate conversations little hassle.
The bonus of this idea is not only that people would have to have been registered and to have made a few decent posts, but also that anyone who
does have PMs enabled would hopefully have been around long enough to know that advertising is wrong.
If that's not enough, you could also throw in a bit of text just above the PM field in the templates saying "Have you received an advertisement PM from a member? Please check the PM id (the number at the end of the url) and post it into the Site Discussion forum so that a staff member may investigate the issue."
And, finally, you can set it so that by default, PMs are not enabled. This way people will only turn on PMs if they actually intend on using them.
As for IM information, was the spammer using this as well as PMs? If not, it might be at least an idea to set that up again.
But if you're still not happy with the options then I understand - thanks for taking the time to read all of this and think about it, though, that's all I ask.
Have a good one!