>> 1) you should not split hex-representation to smaller pieces"
What do you mean by this?
Sorry, but I have to say that sending this tx was [possibly] done by me.
I've just copied from this thread your data, pasted it to editor,
removed spaces and executed "sendrawtransaction" in bitcoin-qt consone. Oups! It was gone to the network!
May be it is a bug of my browser or this forum engine, but the transaction in editor was splitted and separated by spaces
01000...901000<space>0008B....4F865<space>0221...104C70<space>5D4C....361C
Also the sending address does not exist in the btc wallet of the node im sending from. I am using blockexplorer to get the collection of utxo's, then creating the signature in c#
I advise use blank wallet.dat for experiments and restart bitcoind after each try.
Because bitcoind attempts to re-send not confirmed transactions for a while.
For example your first try was to send 0.001 btc from "A" to "B" (spending utxo xxxx:x ) with fee=0
Your local bitcoind passed this tx to network and keeped it in memory-pool
But the transaction was rejected by your peers (reason: dust, not enough fees, low priority etc)
You do not see this tx on network, you see that utxo xxxx:x is uspent,
but now you are not able to spend the same utxo, because your local bitcoind rejects double-spending
The sig seems valid, as it works in the blockchain.info send tx function
blockchain.info did not receive your first tries
So,
1) backup your existed wallet.dat (several times) [do not forget to shut down bitcoind before it]
2) remove wallet.dat
3) recreate empty wallet.dat - your local bitcoind installation will be only a proxy without keeping db of transactions
4) USE TESTNET. Let me send you some test btc. Just give me address
5)
restart bitcoind each time after unsuccessful push tx into network to clear local memory-pool