I think I solved it. I made the following changes to the source code:
src/wallet.cpp:1179 bool fAllowFree = true; //CTransaction::AllowFree(dPriority);
src/main.cpp:3558 bool fAllowFree = true; // (nBlockSize + nTxSize < 1500 || CTransaction::AllowFree(dPriority));
I understand that this could prevent my transactions from being picked up by some miners.
So far they have been going through. Example:
here and
here.
If they don't, then they will get picked up by my pool when it finds a block (which is pretty often).
Is there a better way?