Here are two scripts I worked up real quick other night for wintin95. May want to add shouts to it, too, but hopefully the imms would noshout the person by that point. An alternate route with .net would be to send these to a window that was in the background instead of gagging them, not sure if the method has changed with .net version or not.
#alias {squelch} {#gag ^$1[;#gag ^$1 gossips--;#gag ^$1 auctions--;#gag ^$1 quests--;#gag ^$1 says;notell add $1}
#alias {squelch} {#ungag ^$1[;#ungag ^$1 gossips--;#ungag ^$1 auctions--;#ungag ^$1 quests--;#ungag ^$1 says;notell delete $1}