There are a couple of misunderstandings here. The first one is that T1 is broadcast at the start of the negotiation, so it gets confirmed like any normal transaction. The second is the belief that you can replace transactions by sending another one with a higher fee. That's not how Bitcoin works.
With regards to your second point, the answer is that miners can do this, if they want to. The protocol can't enforce this. The Satoshi client can default to ignore subsequent transactions spending the same input, but it can't be enforced in any way, and so it's not wise to build services that rely on this. If this were the case we wouldn't have to worry about double spends in the first place. But if I understand your first point correctly, this isn't what your implementation relies on anyway, so it's not relevant here.
Great job by the way! Both to Matt and you. This is one of the things that has so many possibilities that it's mind blowing!