You don't need a metacoin intermediary to trade one CP asset for another CP asset. Counterparty logic controls both assets directly, and can escrow both assets directly. It doesn't need the metacoin to prevent someone from backing out of a trade.
Even with the IXC to CP asset trade you don't need the metacoin intermediary. CP enforces the CP asset transaction and a future change to the IXC transaction logic could enforce the IXC transaction so no one can back out on a trade.
So why was the metacoin added to Counterparty?
It's not only convenience why a specific metacoin was added to CP. There are other pressing issues.
First about the convenience. If I'm making a bet in ordinary CP (using XCP), I need to find a partner who valuates
the bet differently and trusts the feed provider. In this Friction's modified version, the partner needs additionally
to trust (and use) the same user definied currency. Too complicated at least in the short term, and therefore I don't
see many people using bet-functionality without a "specific" metacoin (hence fewer use for Ixcoin). In the long run,
this might actually be working once markets would have sieved out the de-facto standard for the metecoin out of user issued
assets/currencies.
The more crucial issue is that there is an important difference between the "specific" metacoin (IXCP) and user definied
currencies. The specific currency is a decentralized currency accepted by everyone accepting the protocol whereas any
user definied currency is
issued, i.e. it is centralized and requires trust to the issuer. Users are taking the role of central banks.
Although this might work in a long run, how in the short run we are going to find entities a) whose guarantees for their currency
are trustable, and b) are willing to do it? Is the Foundation (Vlad?) ready to launch their metacoin (backed up by the idea
that they will buy the metacoin back to 1:1 rate to IXC) and possibly challenge the US authorities that this isn't really like issuing an own
real currency?
Having said that, I think this latest (unlike the previous ones) proposal by Friction is actually working idea (although I don't
see many people actually using the advance features like bets), and I think we should go for it. It is better to have something
(at least somehow working) implemented than endlessly "debate" on the matter (I believe it's in vain to expect Friction
to do more than just minor modifications to CP code). It's good for marketing, and other people will then have
at least something to work on.