Based on recent project experiences at Thyssenkrupp Inustrial Solutions, it would be really useful to get the mentioned capability OOTB, without the need of customization, and to control it through property/preference.
In a “republish at metadata change” scenario, a new publish job is triggered further to actions that do not iterate the representable (promote, rename, move...): thus even without copy over mechanism, the object keeps the old representation until the new one is generated.
However, if the queue contains a lot of jobs, it may take long before the new representation is generated; in the meantime the old, obsolete one is still accessible. Worst, if the publish job fails, the old representation isn't flagged as out of date and there is no easy way to detect the failure when inspecting the object, nor to schedule a mass republish of the objects in this state: resubmitting failed jobs from the Job Monitor is the only solution.
The former is particularly sensitive if file synchronization is used to update CAD parameters mapped to Windchill attributes: job delay/failure may result in out-of-date information displayed in the title block (e.g. lifecycle state, approver). Think of the PDF shipped to an external provider...
Deleting the old representation immediately, at the creation of the new job, would avoid any ambiguity: the representation would then be either reliable, or missing. And catch up would also be easy, by scheduling republish of all objects without default representations.