How does merging in a previously-rejected idea from the same branch, work in various revision control systems? Which offer support for this?
Here is my educated guess - is this summary accurate?
Git and centralised VCSs: Presumably, you reverted the commit that you want to merge in. So you would be literally trying to merge in an ancestor of the current commit. I haven't tried this but I don't imagine it would be supported too well. I guess you could do a 3-way merge with the relevant ancestor (the metaphorical "branch point" in hindsight) of the commit to merge in (which you'd have to identify, because there'd be no record of it) - but would the VCS support this or would you have to do it yourself?
Mercurial, using bookmarks (or using anonymous branching in a similar way to bookmarks): If you had used this approach diligently, you would have "reversed course" and branched from an ancestor of the old commit at the point in time when you previously rejected it. Therefore the commit, even though it was originally done on this branch, now is not on this branch (because bookmarks are dynamic, not immutable, and because you reversed course), so there's no problem at all. Merge away!
Darcs, if there are no tags between head and the old commit: While in darcs it looks to the casual glance as if you have a straight line of commits, what you actually have is a dependency graph between the first commit or the most recent tag, and head (which is not at all obvious and AFAIK there is still no tool to visualise this!). So if darcs thinks your old commit was independent of the current head (which is presumably quite likely, because you've reverted the old commit), they are invisibly separate branches and can be merged quite happily. If darcs thinks the old commit is depended on by head, then this situation is presumably like the git case, though I don't think anyone fully understands darcs patch theory, except maybe David Roundy.
Darcs, if there has been a tag in the meantime: I think this would be like git, because a tag bundles all the invisible heads together and makes a single head that depends on all of them (this is possibly one of the easiest-to-understand aspects of darcs patch theory)
Footnote: For brevity I've referred to "the old commit" throughout, although the previously rejected idea could of course have been a long line of commits.