It has to do with how many "chunks" of coin need to be sent to make up the final amount. Here's something I found that explains it:
Sending coins in more detail.
If you received 50 coins in one transaction and would like to spend these coins, one of two things will happen: If you send exactly 50 coins, all of them will be sent in one "chunk." If you send less than fifty coins, then your client will create two transactions: one to send and one for "change." Example: I have 50 coins, and I want to send 10. My client will send the 10 coins to the receiving address, and then (behind the scenes) create a new receiving address in my own wallet and send the rest (40) to it. This ends up looking like i just sent all of my 50 coins to two different addresses if you examine the blockchain. Since the 40 coins are still in an address in my wallet, my client stills show that I have 40 in my "grand total." Next Example: I belong to a mining pool and it will automatically send 5 coin payouts. Each payout ends up being a 5 coin chuck on my address. After a time I now have 100 coins! Now I want to send 50 to a friend. My client now has to combine enough chunks to equal 50 coins. It takes 10 of those 5 coin chucks and cryptographically signs them to my friends receiving address.
Transaction Fees. Why?
When many chucks have to be combined like in the example above, it creates a large transaction that has to be written and hashed into the blockchian. Even if you send a total of 1 coin, it takes more space on the blockchain to send a transaction using one hundred 0.01 chucnks than it does to send a single chunk that has 1 (or more coins) in it. To help offset the large (many chunk) transactions, fees are enforced for transactions over a certain kilobyte limit.
Ahh, well that explains it. Thanks