And if after I sell I buy again - its possible that the value I buy will show up on both chains. That would be cool.
Not unless you buy a pre-fork UTXO I wouldn't have thought.
If the inputs are valid on both chains then the transaction may end up being relayed to both chains, is what I'm thinking.
Yes. Because a signature of a transaction of valid pre-fork UTXO is valid in both chains. It can even be picked up from one chain (not network) and incorporated in the other one by a miner wanting your fee on his branch.
I suspect they will have measures to prevent that though, it looks like Jihan Wu offered a bounty for someone to write a guide for exchanges on how to avoid that happening in case of a UASF prompting the need for the fork to happen early.
There are two ways. The first way is to make the signatures incompatible. That would be a serious protocol change. It would be the best solution, but it would be a deep modification of bitcoin's protocol, much more than simply the block size. The simplest trick I can suggest is to flip somewhere a little-endian in a big-endian convention. That would make the signatures, hashes, and everything different, avoid backwards compatibility and be a full, clean hard fork. You make a signature according to one, or the other branch, and the signature is invalid (and cannot even be computed without your secret key) on the other chain. Because, be careful. If you only WANT to transact on one chain, it is important that not only your transaction is incompatible with the other chain protocol, but mostly, that it is cryptographically NOT POSSIBLE to have others make a transaction in your name on the other chain with the information you provide on the first. So just superficially changing some aspects that don't change the cryptographic signature, won't do. One can still DEDUCE your (unwanted) transaction on the other chain, and produce it - to get the fee. So you need to modify the cryptographic signature for both.
But I think that BU will not dare to do that. So we stay with a very messy, dangerous and backward compatible hard fork.
Bitcoin not being able to make smart contracts, the ONLY way to separate transactions is to include some dust of a coinbase transaction with a coin mined AFTER the fork. This UTXO not existing on the other chain, you also have a non-valid transaction on the other chain.
But it is difficult to get to these new coins. Only exchanges can probably do so, but how are you going to get your pre-fork coins to the exchange ? If exchanges are friendly, they let you have a "joint wallet", and they do the mixing and split for you.