Why would sending a raw transaction from a different node fail?
The problem is when you createrawtransaction it never gets transmitted/relayed to the network. If you look at the bitcoin wiki for the rawtransaction you can see:

createrawtransaction [{"txid":txid,"vout":n},...] {address:amount,...}
Create a transaction spending given inputs (array of objects containing transaction outputs to spend), sending to given address(es). Returns the hex-encoded transaction in a string. Note that the transaction's inputs are not signed, and it is not stored in the wallet or transmitted to the network.

same with signrawtransaction, it signs the create transacition that is stored in the leveldb or whatever db bitcoin uses but is not transmitted to the network.

Only when you issue the command sendrawtransaction does the signed transaction get transmitted to the peers.

Hope I answered your question!