It was axn from Mersenneforum who explained to me why my proof failed. He said "This is where your proof breaks down. Why "must" there be such a "last prime"?" He was quite right (I was relying on the idea that it was impossible for anyb "last prime" to cast out all remaining twin prime candidate pairs.)
Euclid's proof of the infinity of primes basically works because the symmetrical pattern built up by the primes must leave a gap for any finite set. This gap must be filled by a higher prime than the set we were considering (or a multiple of such a prime).
This works because it means that we need a higher prime to fill the gap.
In the case of twin primes, the existence of the gap in the pattern simply means that we need a higher prime, not a higher pair of twin primes.
So the proof would additionally need to show that you can't close all the gaps without moving up through the sieve to ever higher twin primes - otherwise it doesn't work.
I was grateful to him for spotting the problem and explaining it patiently.
So a failure, but I learnt something along the way, if only how difficult this problem is.