You could use my node-red-contrib-msg-resend with number of resends equal to 1 and force-cloning-advanced activated. But I think publishing a new extra simple node-red-contrib-msg-clone node cannot harm anybody, and is much more clear in what it does ...
I think that cloneMessage has a couple of tricks - doesn't it strip circular references and possibly some of the c***p that ExpressJS adds to an incoming request. Otherwise, I think that it is a straight deep clone.
Heh... well the idea is useful, imo -- but sounds like it should be an option on the change node to me. The main sticky bit will be that the change node does not currently let you "replace" the entire incoming msg with a changed (or cloned) object or partial object (although it has been discussed in the past as a good thing to have).