Gavin Andresen - 2011-05-04 04:03:41

bitcoind doesn't prompt before adding fees because it is meant to be used by websites and other services where there may not be a person available to push an "Ok, pay a fee" button.  There might not even be a place to put the button, either.

Your Transaction 2 paid a fee because it ran into the "small, low-priority transactions must pay" code that is new with version 0.3.21.  It was low priority because its outputs were small and its input was fairly new.