Further to this question:
I originally proposed the following solution:
Rather than blocking new users from self answering in the first 8 hours of their question's life allow them to post an answer but it remains invisible to everyone else until the 8 hours has elapsed.
The user would still see their post and be able to edit it etc. if needed, but there'd be a visual cue to indicate that it was being held back. This would solve the problem of people editing the solution into the question as that would no longer be the only option available to them.
However, I think it would be simpler all round to just remove the restriction altogether.
Non-answers - where a user posts follow up information as an answer - can be dealt with as they are now for questions that are > 8 hours old - conversion to comments or edits or just deletion. This means that other users don't potentially waste their time answering a question that already has a solution. No one can accept an answer for the first 48 hours of the question's life so it still leaves the question open for other people to post better answers.
Why is this important?
As 3ventic points out in his comment - new users aren't likely to come back in 8 hours to post the answer, so anything we can do to get the answer in the right place has to be a good thing.