Can the outputs of transactions with duplicate hashes be spent? I've noticed that there are two transaction hashes that appear more than once in the blockchain. The reason for this is understandable: they sent mining rewards to the same address. These transactions had the same inputs (none) and the same outputs (one 50 BTC output to the specified address). However, this does cause a problem when you're trying to work with transaction data, as the transaction hashes cannot be considered unique identifiers of a transaction.

This was briefly discussed here, but the discussion was based more on block validity.

This actually led to a bug that caused an overwrite of the older transaction, which was fixed in the 0.6.0 release.

There were a few BitcoinTalk threads about one of these occurrences:
BitcoinTalk
Other BitcoinTalk

In the first of these threads, Gavin Andresen seems to suggest that the newer transaction's output can't be spent by saying "Ooh!  Ooh!  50 more bitcoins for the 'Bitcoins Lost Forever' thread!".

The two transaction hashes that have appeared more than once in the blockchain are:
d5d27987d2a3dfc724e359870c6644b40e497bdc0589a033220fe15429d88599
e3bf3d07d4b0375638d5f1db5255fe07ba2c4cb067cd81b84ee974b6585fb468

So, can these transaction outputs be spent? Why, or why not?

EDIT: I should mention that I checked, and as of July 5, 2013, none of the transactions' outputs have been spent.
Updated as my earlier answer was wrong

Quoting from BIP 0030:


  Blocks are not allowed to contain a transaction whose identifier matches that of an earlier, not-fully-spent transaction in the same chain.
  
  This rule is to be applied to all blocks whose timestamp is after a point in time


This means that a transaction can have the same hash multiple times as long as it's always spent first before the new transaction is created.

As for the older transactions: they are valid but the network won't let you spend them because the implementation in the reference client won't let you.