Where this is a good thing for the long-term usefulness of SO, like the OP said it takes away from the short-term usefulness of the site for us plebian self-doubters.
Having said that, previously asked questions on SO answer ~90% of my programming questions, so they're obviously doing something right.
I've thought before that a 'staging area' for questions might be useful, where a question gets posted by _anon_idiot_user_ like me asking why thier code won't run because of something simple. It is marked as 'not useful' for whatever reason, but can still offer (diminished) reputation to answerers. After a particular amount of time, the question is removed from the SO 'canon' (i.e. unpublished and deleted), but the reputation sticks. Nobody's ego is hurt from having thier stupid question memorialized, and mods would be more forgiving to stupid questioners knowing it will go away once solved.
just an idea. All in all, I'm eternally grateful to SO and it's 'asshole mods'. They've taught me more programming than any other entity on the web.
EDIT: Clarity