I suspect this would be a break from other stackexchange sites, but might it be possible to accept more than one answer as correct? For example, if a question is asked and one person answered it in good technical detail, but the answer is a bit unclear from a practical lay understanding while another person provided a good clear, short, practical answer - which one ought to be selected as "the answer"?
In my opinion, you should always accept the best answer for you, not looking to the date at all. An exception when answers are equally good for you. Than it is maybe nice to take the first one.
The purpose of these site(s) is to have great questions and great answers. Therefore, edits, but also reformulated answers are very valuable in my opinion. They make the quality of the site better.
Off course it is not nice if somebody almost copies your answer. However, if they make it a little something, then the site and future readers are helped by it. It is the goal of these sites to have the best answer possible.
I am not in favor of allowing more than one answer. This will encourage multiple reformulation and at the end we will have thousand of times the reformulation of the same answer. In a sence we should vote down (I don't do it) reformulation answer because a comment on the first answer to ameliorate the first answer will clarify things for the reader. I strongly believe that the temptation to reformulate should not be encouraged.
This ground was covered on meta-stackoverflow some time back. I think the advice in the first two responses are right: pick the earliest correct answer or simply the best answer. Use your judgement, but also vote up any answers you think deserve it.