Transaction with slightly changed script is never relayed I am playing with bitcoin transaction a bit now.

I have a question. Normally, the output script looks like

OP_DUP OP_HASH160 (hash) OP_EQUALVERIFY OP_CHECKSIG


Now that is understandable. However, when I slightly change the script with an outgoing translation to

OP_DUP OP_DROP OP_DUP OP_HASH160 (hash) OP_EQUALVERIFY OP_CHECKSIG


this transaction is never relayed (as far as I can say) and never reaches any miner, even when it's 100% legal.

What is going on? Why is it not relayed? I even added quite large fee on it.

And a second question - if my suspicion is correct and it is actually never relayed - what would happen if some miner actually accepted it and this transaction ended in the blockchain? Would it be a valid transaction? Would the client be able to "see it" when he is not able to relay it?
The standard client will not relay non-standard transactions. However, if you get them directly to a miner that accepts them, clients will process them correctly and the transaction will work.

You can send your transactions to 173.242.112.53. This is a server run by Eligius that will relay all valid transactions and they will include even non-standard transactions in the blocks they mine. Others who are willing to relay or include free and non-standard transactions also tend to link to this node, so it can get your transaction included in blocks mined by other pools as well.