en.bitcoin.it/wiki/Transaction_fees#SendingCurrently, any transaction sending less than
BTC0.01
absolutely requires a transaction fee of at least BTC0.0001. Assuming you want to transfer
BTC0.00001 to your friend, not only will
you have to pay this fee, but
your friend will also have to pay an additional
BTC0.0001 to send his coins anywhere else. Since the required fee is more than he has, he will not be able to spend his coins at all, and the whole situation is entirely your fault.
Bitcoin is not suitable for microtransactions, and anyone who told you differently is a liar. To answer the OP's question:
The minimum fee is 0.0001
per kB of transaction size. The amount of
data you send determines the minimum fee. If you send to many recipients, or you are using many payments you previously received to fund the transaction, you may be creating a transaction larger than a kilobyte. Bitcoin-Qt will calculate the appropriate fee based on the transaction size; other wallets often do not do this in strict compliance with the rules.
If you do not include the 0.0001 per kilobyte bitcoin fee when required, your gonna have a bad time. For transactions that qualify to be free, you should still add this as a voluntary fee, as it may take hours or days if your transaction includes no miner incentive for inclusion in a block.