That looks very interesting. But is effectively blocking old clients
from seeing transactions really safe? After all, such transactions are
still confirmed on the new chain. A person might try to send a similar
transaction several times, perhaps with increasing fees in an attempt to
get it to confirm and end up paying someone several times.
Maybe we could require the tx version number to be increased as well so transactions sent from old clients would never confirm? Perhaps your code already includes this idea, I need to look at it more closely.