I dont set the fee, the bitcoin daemon does. Sometimes is zero, sometimes is 0.0001 and some others 0.0003 or even 0.0005
Problem is some pools use OLD daemon version,that is why it could be postponed abit(in case the fee is zero). The 0.0001 we"charge" doesnt go in our pockets! Its to even out the withdrawal fees.
For instance, this withdrawal had 0.0002 fee(user paid 0.0001 though) --> https://blockchain.info/tx/8ef7bab3876b0c6fab7bae0f8798ce30cc1082adb7c33f49dff0d4bcde1ca211
Hmmm, I see and I totally get why you charge the fee. No questions asked about that. Zero fee transactions will always be a special case though. I highly doubt that this will change in the future. Can't you force the daemon to use a standard fee?
unf no. Only way it would be to"hack" the original daemon, and "recompile" it. and cross fingers that it wont fuckup something in the proccess. We prefer to leave things as they are, the way it should be. eventually the pools will update, and that problem will disappear

Bitcoin transaction fees are a magical mix of how many, how old and how much the inputs are.
The up-to-date daemon automatically calculates the priority of a TX and assigns a fee. It looks like DB is doing this.
However, some pools are very stingy and don't adhere to standard practices. They can reject transactions that have 0 fee, even though the priority on the transaction is high enough to be included (the inputs are old and large enough).
For now, the only thing you can do if your TX doesn't include a fee is to wait for a pool that adheres to standard practices to include your TX in a block.
Miners can refuse to mine on "stingy" pools. Then they will have less of the hash rate. This will give pools adhering to standard practices more of the hash rate.
... Sorry, I got a little off topic there.