So, step 0: there exists a CFD with A at +$100 USD and B at -$100 USD
> B needs to find a BitUSD seller (on the internal exchange) so B can buy BitUSD from that BitUSD seller
Okay, now we have two contracts:
A at +$100 USD, B at -$100 USD
B at +$100 USD, C at -$100 USD
I can see here that B is neutral USD again. However, B is not fully neutral: the margins for the two CFDs are different, and so it's entirely possible for the first contract to margin-call, leaving B long.
> and then exchange the BitUSD again for the collateral (BTS) at the exchange rate of BTS/BitUSD at which B entered the CFD
Wait, what? Doesn't that mean that B is back to being short bitusd again?