I don't think I'm underestimating at all -- I know it's a massive amount of work. that's why I think we need a community-maintained "standards" document (wiki) that will allow developers to see what it will take to get there. In return, such clients can conform to the "rules of the land" and make sure that the network stays "pleasant."
I don't think Bitcoin has much of a future without the ability for devoted developers to develop their own, full clients. I think having only a single "real" client will stifle the development of the Bitcoin in general. The ability for individuals, groups and companies to develop their own implementations, tailored for a variety of different use-cases is going to help BTC succeed. Some people want to just spend and receive coins without even seeing address strings or wallet details. Others will be power users, and want more fine-grained control over their wallet(s), keys, encryptions, and super-security techniques. And there's a million shades of gray in between. I don't think all this can be achieve with one client.
I have the intent to do one myself, even if it takes me 2 months to get the details right. And I think we should promote it. And I think the best way to promote it is to have a thoroughly-hashed-out description of these details, with as many unit-tests as possible for developers to apply to their code. The alternative is for developers to create clients but not know they weren't supposed to forward transactions of unknown validity, then open up the door for people to start flooding the network.
-Eto