It's not a duplicate transaction, the miner just assigned the outputs of the each of the mined blocks to the same address.
No, it really is a duplicate transaction.
Allowing this was a bug in the Bitcoin protocol. It's no longer possible for one transaction in the block chain to make another transaction in the same chain unspendable. However, a single transaction can still exist in more than one block if the older copy is completely spent before the newer transaction is added.
Thanks for the answer!
Is it legal for the second transaction to have different vins and vouts?
i.e. When you say "a single transaction can still exist in more...", is it basically legal for a new transaction to just re-use any old (spent) transaction ids, or must the second transaction be identical to the first?