There is some discussion about having miners reject bad transactions. Wouldn't that just cause a huge split in the network if only half the people upgraded the client and then that happened?
Client doesn't have anything to do with miners.
Miners already can include or reject any transaction for any reason.
Each miner (or pool) decides which transactions (if any) to include in the block they are hashing.
You two are talking about two different things. Miners are allowed to
exclude any transactions they want, but they all have to agree on which transactions are valid.
Currently, most miners reject most
turing-complete strange scripts, but still accept the full set of op-codes as valid. This is important because each miner must verify the validity or every transaction in the block-chain. For example a rogue miner generating a block with a 100BTC coin creation transaction will be ignored by the honest nodes.
TL:DR: Even if we wanted to prohibit coin destruction (I did not know it was unambiguously possible), it would create a split in the block-chain.
PS: I am still of the opinion that the protocol is essentially untouchable at least until the block-reward drops. What part of "experimental currency" don't people understand? We have to expect a few "flaws". Those flaws will be easier to interpret if we don't monkey with the experiment.
Edit: All Turing-complete scripts must be invalid. Else all miners would stall on the first endless loop included in the block-chain. Currently, "strange" transactions are transactions other than: tranferring a coin from one (set of) address to another, and coin creation.