Why is a minimum transaction fee for 0.01 BTC *sometimes* enforced I have read Why would Bitcoin-QT attempt to charge a processing fee, when I have my transaction fees set to zero? but I still have a question.

I am sending 0.01 BTC from my wallet to my Ethereum intermediate address and then back again, so as to verify recoverability.

Sending 0.01 BTC worked fine without transaction fees. When sending it back I get "The total exceeds your balance when the 0.0001 BTC transaction fee is included." although fees are set to zero.

Why is there a fee requirement in one direction only?
This depends on the priority of a transaction. If an input (coins you received from an earlier transaction) was not used for a longer time, its coin-age (equal to confirmations) increases and therefore the priority. 

If the priority is equal or above middle-priority (thats what the bitcoin-core client and the blockchain.info side calls it) it does not require fees. So when you send your first bitcoins, those had a high enough priority to get shipped for free. Then you tried to send them back immediately, with a low priority, so you were forced to set a transaction fee.