To me, Bitcoin is more like the Jehovah's Witnesses. They believe that only 144,000 people will get into heaven, and that who gets in will be decided by who recruits the most people to the Jehovah's Witnesses, so once you have the Jehovah's Witnesses meme you have a super-strong incentive to spread it widely.
Unlike Gnutella, in this case, there are people with a strong financial interest in keeping it massively overhyped, for the reasons described in the OP.
It takes just a few keystrokes to type "fundamentally flawed", but people seems to not agree whether that's really the case. So why do you think it is flawed?
I don't know shit about economics, so I can't say anything useful about that aspect of Bitcoin. I do know a little about distributed systems and p2p however. Disclaimer: Bitcoin is a bit of black magic so I'm not going to claim I know every detail about it. I did read the original paper, so I'll focus on what I got from reading it.
First of all, Bitcoin replicates work over all nodes. This means you need a global broadcast mechanism to inform all nodes of transactions and new blocks. For transaction broadcast, you'll need O(m*n) messages with m the number of transactions and n the number of nodes. This is scalability problem number one.
Then you have the blocks. Each represents a transaction history of a given period of time (magic number is 10 minutes iirc). When the number of transactions/second (tps) goes up, so does the size of the blocks. The calculations found here: https://en.bitcoin.it/wiki/Scalability give >1GB per block for 2000tps, which is what VISA is doing right now. If you're connected to k peers, that means you're going to need kGB of bandwidth per 10 minutes. Network-wide, regardless of your topology, you'll still need at least nGB of global traffic every ten minutes. When you have a thousand nodes, you have 1TB of data flying around the internet every 10 minutes, and that's on top of the global transaction broadcast traffic.
Now remember that if Bitcoin wants to replace the US dollar they'll have to scale way beyond 2000tps (for example, when China and India join the party), but let's say 2000tps is the goal. The only way that's going to function is to have a two-tier system with big clusters on top and people like you and I below that, just to move that much data around. Introducing supernodes in a p2p system is a cheap way of buying some scalability, but it doesn't solve the fundamental problem, all it does is buy you some time before the entire thing keels over.
Then there's the computational effort. The idea of calculating useless hashes is meant to keep botnets from taking over the majority vote. One CPU cycle is one vote, rather than one IP is one vote. To take Moore's law into account, the system automatically adjusts the difficulty to keep everything chugging along in an orderly fashion. This is a nice idea, but a botnet can still ddos a node, at which point it doesn't matter how much video cards that node has. As long as those nodes are on the internet they are still vulnerable. This is happening right now btw, most miners are mining in so-called pools, and taking out an entire pool by ddossing it means you can increase your own chances of mining coins. This is why the pools are having trouble staying up.
Another attack vector is ddossing the entire network by sending a single bitcoin back and forth between two addresses. Transaction fees can help a bit here, but if someone is willing to spend some money to dramatically raise the TPS count for just a short time you're already in a lot of trouble.
Thank you very much. I posted your remarks into technical discussion, where someone was postulating ideas about addressing scalability by somehow making blocks smaller, and applying a divide and conquer strategy.