I think NullUserException earned the Marshal badge before he became a moderator back in November 2011. I got it by flagging spam posts after we decided that was better than just deleting them.
See the discussion on I'm not gaining flag weight for my Spam flagsI'm not gaining flag weight for my Spam flags. Note to other mods: According to Marc's answer on that post this is fixed. I guess when we delete spam-flagged posts the flag will be marked as helpful now.
Of the other possibilities you mentioned, the first one would give a moderator flag weight, but we rarely use it. As for the second, we don't need to flag posts before taking action on them but we could. It would just be more time consuming than it's worth though. Just processing flags (#3) doesn't count as a helpful flag for the moderator.