Can someone explain how the transaction fees get paid, even with bitcoin CP? When someone places a bet in XCP, how and when do they send BTC for the transaction fee? Do they actually need two currencies for betting or any other operation in CP?
It depends what you exactly mean by "transaction fee". From the bitcoin network point of view, placing a bet (or any other action in CP) is just a normal bitcoin transaction (with some 80 (40) additional symbols the network does not care about). So the bitcoin miners get their fee from there just like from any other normal bitcoin transaction.
In addition to that the CP protocol requires a fee (in XCP) to the feed-provider. The amount (fee-fraction) is specified by the provider (when he describes the event), and it is reduced (I think) from the bets when they are finalized. I don't know how Friction has planned to handle this fee if we go by his preferred plan 2c: is it allowed the feed provider to dictate the user currency that bets are made (when using his feed), or is it allowed to use any asset for any feed (in which case the feed operator may end up with small amounts of many different assets he doesn't really care)?
Furthermore, there is an additional possibility for a fee that, if I have understood correctly, Friction is planning. Namely any ixcoin (bitcoin) transaction has also a destination address. The original CP does not care (I think) what is the destination address and how much money is transfered in operations like bets, broadcast, issue etc which do not have a clear target (i.e., no assets are moved directly from one party to another). But you could require that, for instance, a certain amount of IXCs (in addition to the miners' fee) needs to be sent to a specific address in order the protocol to accept the transaction as a valid bet. If I have understood correctly, Friction is planning something like that (for the benefit of the Foundation).