Interesting ideas. I think I like #2 the best (with the slight modification that the report be sent to us to deal with) as - ideally - there should be few reports generated, and we could check to see which node is the correct one. In the event of a slight desync between nodes, the node that expires first could actually be the correct one (especially if replication between nodes isn't working correctly, for whatever reason). The load burden from increasing db queries is also something that needs to be considered, but I don't know how much of an affect it might have.
This is, however, just me spitballing off of your idea, and I think there could be some benefit to putting something like that in place, so I'll pass it around to the devs