Specifically, new versions of Bitcoin should accept blocks legitimately mined by the old version, but of course old versions may reject blocks mined be the new version.
This means that if less than half the miners ever accept a forked version of Bitcoin, then the old version will win and even the new version miners will accept the old style blocks, no fork occurs.
On the other hand if more than half the mining power accepts a new forked version of Bitcoin, then we have a hard fork on our hands, and old versions may continue mining an alternate chain indefinitely, while claiming to be the one and only true Bitcoin.
The question is, what happens to these old version miners in the long run?
I argue they must be reduced to irrelevancy rather quickly, and here is why. Demand for block chain usage will only increase over time. The 1MB limit could only work in the very earliest times of Bitcoin. Eventually (and hopefully only after a successful fork), demand will pour over into the new Bitcoin fork, or if it has never been made then demand will pour over into Litecoin, which already can handle four times the number of transactions as Bitcoin can. So, without a hard fork, Litecoin becomes four times the market cap of Bitcoin as soon as demand outstrips the 1MB block limit.
So, it's fork or die for Bitcoin, as Satoshi well understood when he put the limit in place on the baby block chain.
Bitcoin is designed to justify its value by bringing real, new value into the world. That real, new value is access to the Byzantine block chain. Bitcoin must make it as available as the demand, or its own clones will kill it.
"So, without a hard fork, Litecoin becomes four times the market cap of Bitcoin as soon as demand outstrips the 1MB block limit."
But 4 times the max transaction capacity of Bitcoin is not really that much, compared to VISA etc... so Litecoin would run into the same problem as Bitcoin: to fork or not to fork.
What then?