Allow me to correct a few of your misconceptions:
> Bitcoin can't handle micropayments. The block chain is limited to about 7 transactions per second,
Note that this is not a technical limit, it is an arbitrarily set parameter. Gavin argues it could be increased at least 1000-fold with more professional infrastructure over time. Even with a tenfold increase, an average PC with mediocre broadband could still process every transaction ever. I'm confident that as soon as the need arises, this limit will be increased.
> and every node has a full copy of the block chain, so traffic goes up roughly as the square of usage.
That's not true, traffic goes up linearly with the number of transactions. If there are twice as many transactions, twice as much data needs to be sent around in the network. It is also linear in the number of full nodes running - but most users do not run a full node.
> There's a minimum fee for each transaction (if you want it confirmed in any reasonable length of time) and it's currently about $0.30. That's more than many merchants pay to process a credit card transaction.
Wrong again. At the moment, the recommended minimum fee is 0.03 USD, or 0 for high-priority transactions (those who move large amounts or old coins). It used to be 0.001 BTC, but that was reduced to 0.0001 BTC. Also, most merchants have to pay much more than 0.30 USD to process credit card payments.
> Nor can Bitcoin handle fast payments.
Firstly, when looking at throughput (how many times can the same Bitcoin be spent per day), Bitcoin beats all existing payment systems by a wide margin. Even with SEPA, which is praised to be very fast, you can resend the same euro to a new account at most once per business-day or about 20 times per month. A Bitcoin, however, can be moved thousands of times per day (assuming movements between trusted parties) or dozens of times per day between untrusted parties. So regarding throughput, Bitcoin is the clear winner.
Secondly, there is the time it takes until the money arrives with certainty. For credit card transactions, that time is 60 days. For bank transfers, settlement is T+2 days. That means if you send 100 USD from a Lehman brothers account to a BofA account on Monday, and Lehman goes bankrupt on Wednesday, you won't receive anything. With Bitcoin, it takes about an hour to reach that level of certainty.
The problem you are referring to is that by colluding with a miner, someone could issue a competing second transaction that invalidates the first. Fortunately, such attacks require effort and are perfectly detectable. So if not much is at stake, one can accept a transaction as soon as it has spread to the relevant miners. For example, when you order a coffee in a restaurant, it is much easier to simply walk out without paying than to try to launch such an attack.
> Meanwhile, Bitcoin for vending machines, music tracks, and parking meters isn't going to happen.
Exactly for those applications, it is safe enough. None of them is 100% safe anyway: vending machines can be fed with fake coins, music tracks can be pirated, and parking meters can be ignored (betting that the police won't check them). In all those cases the effort to cheat with traditional means is smaller than that of colluding with a majority of miners (and you need a majority for a reasonable rate of success).