Ben is ueq backwards makes the case for why the older question was closed in favor of the newer. (I'm not arguing whether this was correct or not.)
As with any interface design, there's always a tradeoff between exactness and simplicity; SO has done a great job balancing features with complexity of interface.
You've found an edge case for which the user action (mark as duplicate) is probably the most appropriate action to apply, but for which the given message is inaccurate:
This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.
As you pointed out, the question that was marked the duplicate had not been asked before the other other was asked. The message is inaccurate, but it's the only one that the website serves for the given action.
A solution would be to adjust the message. One way (my changes bold):
This question has been asked elsewhere on the site and already has an answer. If those answers do not fully address your question, please ask a new question.