How about adding a second canonical form of answers which are used as duplicates, instead of copying the original?
One problem with shadowing an answer between questions is that the answer to one question may look confusing or incorrect when posted with a different question, even if the two questions are duplicates. For example, if the answer references code in the first question, those references wouldn't make sense in the context of the second. Another possibility is that original answer was a quick, oversimplified description of how to solve the problem, while the OP of the second question is a beginner and needs a more detailed explanation.
To make a single answer suitable for both questions (and possibly others in the future), it may have to be edited heavily. During this process, it is possible that some extraneous detail specific to the first question is removed, making the answer less helpful for that question. It is also possible that the original answerer may not like the edits, or not understand why they were made, and revert them, making the answer unsuitable again. Also, anyone who wants to edit that answer in the future would have to check every question it is shadowed onto to make sure it still makes sense in that context.
A possible solution to some of these problems is to create a canonical form of the answer which is connected to it, but not the same. When choosing an answer as a duplicate, the user would be presented with an editor pre-filled with the original answer for them to modify. The user creates a canonical answer which would work be suitable for both questions and submits it. The second question shows this new answer as a possible duplicate, with a link to the original added automatically. The first question continues to show the original answer, but adds a link at the bottom which can be used to view the canonical answer and a list of the questions it is used on, but the original answerer has the choice to replace it with the canonical version (hiding the original behind the link). If the same answer is used as a duplicate for a different question in the future, the canonical form of the answer is automatically used.
This would allow the first question to keep its specific answer and no information is lost, but there is a single canonical answer used for all other questions. The canonical answer could be edited from any of the questions it is posted on without modifying the original. The original answerer can keep their answer, so they won't be upset or revert the edits.
Obviously, the edits required to create a canonical form of an answer could be significant. Therefore, I would suggest giving reputation to the user if the answer meets the requirements to close the question. If the answer never meets the requirements, no reputation would be awarded. Perhaps 2 reputation per upvote for both the original answerer and the person who found the duplicate. The reputation for finding the duplicate could be awarded only if the finder provides significant edits to the post, to be more like the current system. This could prevent others from using the same answer for a different question since they couldn't get reputation from it, so perhaps the editing window should be provided with the canonical answer for future duplicates so that the second finder still has an opportunity to gain reputation for edits.