Thanks for the advice. I don't quite understand how this causes double spends. Would it be possible for me to run my own miners and have them include only my transactions onto the blockchain, or will the rest of the network refuse to relay them?
The rest of the network (well decided on a node by node basis) may refuse to relay your tx however if you hash a valid block then unconfirmed double spend or insufficient fees it will still be accepted by the rest of the network.
An unintentional double spend can happen like this:
a) you create a tx with 0 fee using input A. It is rejected by some but not all nodes. It is relayed to miners but none include it in a block determining it is invalid.
b) you reinstall bitcoin and restore a wallet backup. you create a tx w/ fees using the same input A. The miners which relayed tx a) above won't relay this one because they see it as a double spend of the same input. If enough nodes refuse to relay it you won't be able to reach a miner.
I would also point out as long as your bitcoind is running it will continually try to rebroadcast the tx (until it sees it in a block) which means the network will never forget about it. So if your no-fee version is still running the network will never forget about the 0-fee txs.