It may just be me, but it seems like you're contradicting yourself with:
There's very little software that supports both fly-by questions on the web, and proper discussion via e-mail, so we optimize for ourselves, not users.
and
Users don't pay the bills, and questions are usually incredibly repetitive and dull, no matter how easy-to-use or well documented the project is.
While there's absolutely nothing wrong with coding for yourself, it doesn't usually pay the bills either. And (sadly), its rarer then it should be for someone to be able to print money for themselves by making things for themselves.
I reiterate: If different users are asking the same question repeatedly, perhaps its an indicator that there's something wrong with your software, not your users?
Oh, and, incase you don't know, not all software needs to expand until they can read mail. Multitasking has (sans the iPhone, if you want), been around for decades. People are more than capable of having one program open at a time. There's nothing wrong with this.
Web forums aren't frictionless. In fact, they're totally shit for the purpose of carrying on detailed conversations over the course of days without requiring constant attention from all the participants.
There's a reason why most forums will e-mail you when your watched threads are updated. Why not just have the e-mail be the thread?
Nowhere did I say that forums are better than email. They're both equally bad. My personal preference for this sort of thing is IRC. Of course, I'm biased, since one of the projects I spend the most time working on is an IRC client.
Also, forums are easier for end users to figure out then mailing lists. You could argue thats because mailing list software tends to suck, but, thats ignoring the issue.
I'd rather the users that are unwilling to invest in the mailing list self-segregate by posting their one-offs to sites like StackOverflow.
Not all open source projects are programming languages or libraries, which is SO's target area currently seems to be.