I am not a moderator on any SE site, however, based on an answer by a moderator (based on the understanding of the system that I gained) and my inability to find any other suggestion similar:
What about changing the responses to the flagging system so that moderators can decline all flags, decline all flags by type, or decline an individual flag. This way, the same functionality would be available, but it would help prevent situations such as a question from a little while back, and the others I am sure that are asked similar to it. So if there are multiple flags, a moderator can decline all 'offensive' flags with the message "don't abuse the offensive flag on questions like this", but can still close it for a spam flag.
I know with the current system, a moderator would most likely opt to close it based on the spam flag instead, but doing so would also tell the user that marks it as offensive that it was flagged correctly.
Anyways, just some food for thought? I'm not sure how difficult it would be to implement, I don't know the code that goes in to it, but I do think it would be a nice improvement to both the moderators and those that do flag. ^^