Also, let's say bitcoin developers come up with a new and much better protocol for bitcoins. How would you transfer the old bitcoins to the new system? One possibility is creating v2.0 bitcoins only if the corresponding amount of v1.0 bitcoins get destroyed.
There's no need for that. I suppose you mean block chain rules, not network protocol. If a big disconnect was really needed, we could just say 'from block XXX on, use this new rules and system' and program the clients accordingly.
See also
https://en.bitcoin.it/wiki/Hardfork_WishlistIP Coin won't work in IPv6-world.
IP coin is a really, really bad idea. Everyone with a botnet could trivially execute a Sybil attack.