not to over saturate the feature: but what about other fields that may remain relevant to the product replacement (i.e. custom properties)?
One reason we shy away from product replace is that we judiciously note things about particular products (or sets of products) in their custom properties. when replacing, all this information gets wiped out and if you don't have your custom properties exposed in the PDM you are none-the-wiser.
I like the ideas floating around about the accessories prompt, but i think replace needs to be a little more robust as far as notifying the user EXACTLY what they are replacing.
here's a feature i would call "Smart Replace":
the prompt after "Smart replace" shows all fields that differ from the replaced item (similar to the detail view of a product update in revision management). If there are multiple items, they are cycled through individually. The user is provided with a checkbox for each field with a preview of the data in that field so they may select those that they want to replace in the operation (this would included accessories).
The user is provided with buttons Replace (which replaces the current item displayed), Replace All (which applies the selected replacement to all items in the replacement queue), Cancel (which cancels the replacement of the Current item displayed), Cancel All (cancels the entire replacement list and reverts all products to pre-replacement settings)
the user should also be given a "Quick Replace" option, which functions exactly the same as current replace: you swap the old product for the new one and loose all information. after all, what good is software if you aren't able to shoot yourself in the foot with it?