Assuming it's a constructive question, if you've already accepted an answer and a new answer comes along that does an even better job at solving your problem, why wouldn't you accept the new answer?
The design even allows for that. If it wasn't "allowed" then why can you "unaccept" an answer? (It's not an oversight, either; note that your vote gets locked in after a few minutes. The management is up on the idea of not allowing gamesmanship by reversing some decisions.)
The only penalty is that the person with the answer that was originally accepted will lose the 15 reputation points they'd gained from having it accepted. There's no penalty to the question asker (except, perhaps, a bit of enmity from the person whose answer they originally accepted).
Ultimately, it's all on the original question asker. Only that person can decide if an answer solved the problem (or even if any answer solved it).