The protocol rules state that
For each input, if the referenced output transaction is coinbase (i.e. only 1 input, with hash=0, n=-1), it must have at least COINBASE_MATURITY (100) confirmations; else reject this transaction
Why should coinbase transactions with less than 100 confirmations be unspendable? What is the point of the rule?