About spam. To protect the network the protocol requires a fee of 0.0005 BTC if the inputs are less than 1 bitcoin day old*. For example if you received 1 bitcoin and wanted to spent it you would have to wait 1 day to avoid a fee. If you received 10 bitcoins you would need to wait 1/10th of day. If you received 0.1 BTC and wanted to spend it you would need to wait 10 days.
Is this still true? I recently sent small values (3-5 BTC) wth inputs that had only 5-10 confirmations. Since the transactions got confirmed in the next 1-2 blocks, I don't think they were considered as spam.