This question, or rather, (vague) feature-request is not specific to MO; however I leave it to more experienced (and with better skill in writing English) users to possibly ask it elsewhere.
Explanatory example: Reading the comments to this meta question, one can read a 2014 exchange of comments between "Stefan Kohl ◊ Mod" and "François G Dorais". But paradoxically, in 2014, François G Dorais was a moderator and Stefan Kohl wasn't.
This bug can make the reading of old conversations clumsy. In this case, since I've been active on MO for 10 years, I'm aware of the various roles. But on another site, or if I were a recent user, this conversation would have sounded confusing.
Here the contents of the exchange is not that important, but typically a message by a moderator can have some "official"/"authoritative" flavor and not just a personal opinion, and hence be interpreted differently (whence the usefulness of displaying the moderator diamond... when accurate).
The issue can also occur for questions/answers, with the additional difficulty that the date is then not unique (a post can be edited several years later...).
So I believe the output should reflect this.
The most obvious (partial) solution would be that the diamond signs for comments take into account the date, and for posts/answers, the first date of posting.