So let's say this gavincoin client comes out today and within a few days the first block on the gavincoin side is mined. There should be no risk to the Bitcoin side of the fork as far as I can see -- at least not initially. Now the gavincoin side ... that wlll have so little hashing capacity so those exchanges accepting gavincoin payments need to consider that a 51% attack against that side of the fork is certainly possible [Edit: after difficulty adjusts down on the gavincoin side a few times].
Then watch and see what happens. Maybe both sides co-exist permanently, who knows.
Oooohkay. Let's consider the effect of a client that accepts and will cheerfully create >1Mb blocks.
Let's say I take a standard bitcoin client (client A) and create a new one (client B) that doesn't have a block size limit. And then I start mining using client B.
Let's say that in a couple of days I make a block. Cool. So what's in my new block? Because my client has been accepting blocks from the other clients, it won't repeat transactions that have already been in previous blocks. It's looking at the same pool of outstanding transactions as everybody else. So it'll include all the transactions from that pool that I choose to place in it, and likely have a block size between a quarter and a half-megabyte. Everybody using client A is going to accept this block, because it follows all the existing protocols. Then they're going to mine more blocks, and my client is going to accept those because they all follow my protocols. And we can keep doing that for six or eight months.
But eventually after six months or so, let's say I get an 1100 kilobyte block (block B1, built on block A0). It goes out on the network, and all the people running client A reject it. Eventually somebody builds block A1 on block A0, because they rejected my block B1 as invalid. And after that, A2 gets built on A1 before I get another block B2. From my point of view it's indistinguishable from having an orphaned block. As soon as I hear about A2, or maybe A3, I'll drop my B1 block because it's no longer on the longest chain. From my point of view it's exactly like having a block orphaned for any other reason.
In fact, for as long as there's more hashing power using protocol A with the 1MB block limit, there will be no chain divergence possible. There'll be no exclusively Chain-B coins, because client B will still accept client A blocks. Every time the chain of <1Mb blocks gets longer, any chain that includes a >1Mb block will be orphaned. Even clients that find them acceptable will drop them when they aren't part of the longest chain. And if there's more hashing power on protocol A, that'll happen before the coins from that first >1Mb block become spendable at a 100-block depth.
The next "interesting" thing that happens is when there's finally more hashing power on protocol B. At this point a chain that includes a >1Mb block can get newer blocks built on it faster than the chain that includes only <1Mb blocks. This is the point where an actual chain fork happens. The majority of hashing power has shifted to protocol B, which allows chains that include >1Mb blocks, but a few holdouts, along with a bunch of crooks and their victims, stick with chain A.
Now, here's the difference between holdouts, crooks, and victims. A holdout continues to use chain-A outputs exclusively. For a while, most holdout transactions are cheerfully accepted into both chain-A and chain-B blocks and cause no trouble. But because chain A is now producing coins that are unspendable on chain B, and because crooks will eventually "taint" most chain-A outputs by double spending them, eventually holdout transactions cannot be placed into a blocks on chain B.
A crook is using both chain A and chain B, and will spend pre-split outputs along with chain-B-only outputs in a tx on chain B (which gets rejected on chain A due to the chain-B outputs) then make a later tx on chain A to double-spend those pre-split outputs. That makes it clear what a 'victim' is - a victim is the bagholder in the double spend. Because he has not upgraded his client, he winds up with Bitcoins that have already been spent on chain B, which is now the main chain. Victims can also find themselves in this position when they accept transactions from holdouts, if the holdouts have already dealt with crooks (ie, have double-spent coins) or are using chain-A-only outputs (ie, from coinbase tx which don't appear in chain B). The holdouts may not care about the difference, but the victims sure as heck will.
Here's the important thing about the post-split world. Chain B is the majority of the hashing power, and every spend on chain A is also one of four things:
a legitimate spend on chain B,
an attempted double spend by a crook,
a spend by a holdout or crook that includes an output created in a previous double spend by a crook,
or a spend that includes coins (coinbase coins) that do not exist on chain B.
So for non-crooks, chain A is either irrelevant (your tx goes into both chains) or harmful (you get coins that are being or have already been double spent by crooks, or else coins from coinbases on an orphan chain). The only reason to avoid switching to chain B, at the point where a fork actually becomes possible, is to preserve your ability to become someone's victim or the bagholder in an orphan chain.