When you see a question that is clearly outdated, for example it claims something cannot be done in a language but the feature has since been added, the situation isn't too much trouble - you can always answer the question yourself with the new information. Sure, probably the reputation gain won't be as big, but at least you'll leave something for future Googlers to see and feel relieved.
However, the issue is more troublesome when you see an old question get an answer saying something, but you want to know if anything changed. Because the question is "answered", people looking for unanswered questions won't find it. You are left to hope someone who knows about recent developments will see the question, and post an update - unlikely.
For example, this question: What language must I use for a Pidgin plugin?
The answer states, my options are C, Tcl, Perl. Ok. But that was 3 years ago! Did something change? How do I find out?
The only solution I can imagine is, to make a new question linking to this one: "Bla bla, last time someone asked, you had to use C, Tcl, Perl. Anything change yet?" But imagine SO is around for 10 more years. Imagine I'm average- now you have 4 instances of "are we there yet" pointing to the same question. That seems inefficient and messy.
My solution would be, to allow reopening an old, answered question. Perhaps for questions asked and answered by others, I could click "reopen question", and then I would also get to choose the best answer - perhaps using a blue or pink tick mark - so the question would have two correct answers.
The important thing here is, to have a mechanism for moving old, answered, but possibly obsolete questions back to the top of the recent unanswered questions queue, both to bring them to the attention of the community as well as differentiating "asked, resolved and done" questions from "asked, resolved at the time, but solution possibly no longer valid or best" questions.