[...]
Right now it notices the repeated use of the same inputs and ignores it right? It could ignore unless it was related to a payment to your wallet no? In that case it should change the tx from 'unconfirmed' to 'warning' or similar and ignore it. By ignore I mean don't pass on as you normally would.
Not quite. The detection may happen somwhere in the world. It will be a random nodes which happen to be at the border of two "floods" of propagating messages. Think about it like a pond of water and you drop two pices of paint: blue and yellow. Water around paint starts to get coloured till two areas touch. You will see green colour there, this is detection point. This point may be quite far from the node which is interested in this information. This is why it is important to propagate this information to everyone.
Currently, area already painted blue ignors yellow pigment and area already painted yellow ignores blue paint. Currently paints do not mix, they wait till a block is generated. If block is generated in ble region then one version is assumed as legal. If in yellow, the other one. Only when valid block is generated, a judgment is passed and propagated to everyone.