Pretty much this right here. 10 cents though would come with a fee that (right now) is 5 cents, or 50%. $10 would still be 5 cents. So really it's still a pretty small fee.
Just out of reference, with the newest implementation fees should drop to 0.5c so it basically means that txs are pretty damn cheap.
In theory, you're correct. The problem is that a lot of the miners and pools are still using older versions of the Bitcoin client. There was a thread about this, saying that like 70% of them still haven't upgraded in like a year or so and so are far behind as it is. On top of this, the miners/pools can apparently set their own requirements for fees and decline transactions that don't match what they want.
You are correct, we need some way to force nodes to update, since they play a huge part in the bitcoin network. I guess you could set up your own node, but that's just a bit difficult and unnecessary.
Setting up your own node wouldn't do any good, either, unless you happened to mine a block. The only people whose daemons really matter (as far as I understand it) are the ones that are minting. And since a couple people are minting the majority of blocks, it's them that need to change (or not, depending on how they feel).
But if your node is directly connected to a pool's one, wouldn't it accept your transaction and broadcast it to the specific pool?
It broadcasts it, yes. As far as I'm aware, there are no issues with the broadcasting part. It doesn't ensure it'd get into a block, though. You can test this by sending a really small transaction without a fee. It will be broadcast to all the nodes (and even show up on Blockchain.info within seconds). But it will take days to get in a block, if it ever does. Basically it works like this:
1) You send a transaction from your client or a web wallet
2) Transaction is broadcast to all the nodes to share
3) When a pool is minting, it chooses what transactions it wants to include
4) If a pool mints a block, the transactions it was including are now "confirmed"
The problem isn't with the broadcasting, it's with the pools/miners not packaging them into a block due to not being valuable enough.