"I don't believe a second, compatible implementation of Bitcoin will ever be a good idea. So much of the design depends on all nodes getting exactly identical results in lockstep that a second implementation would be a menace to the network."
Justus, Satoshi's quote seems perfectly accurate to me. 2 different implementations cannot exist on the same chain. The simple proof of this is once there is a single disagreement between implementations on what constitutes a valid block, a chain split will happen at that point.
If you have two very similar implementations that only disagree slightly (for example on block limit but agreed on all other rules), they could potentially co-exist on the same peer-to-peer network with a common UTXO set for awhile and validate those transactions on different chains. Here valid transactions would confirm on both chains and the two chains would be mostly similar with a similar transaction set.
The problem however is once you have separate chains, you also have separate block rewards, and any transaction that depends on a block reward (post split) in their history is no longer valid in both chains. Initially since there are only a few block rewards post split the two networks can stay mostly in sync, however they will continuously diverge over time and after awhile separate.
Without replay protection BCH would have followed the scenario outlined above, it would have mostly stayed in sync for awhile, but eventually the two networks would fully diverge since there were two separate chains with separate block rewards. At least that is what I saw with the trail forks ran in 2016.
As far as I can see there is no way to get around this eventual divergence, either implementations fully agree on rules, or they will eventually be on separate networks with separate chains.