More serious issues might be possible when there is a reorg. For example, when one coinbase is disconnected, all of its duplicates will also be disconnected.
Yeah, which in theory means that all the nodes that had the block containing that duplicate coinbase in their main chain would wrongly treat an attempt to spend it as invalid and all those that hadn't would correctly consider it valid. This may be usable to create a persistent fork in Bitcoin - that is to say, one that can never actually resolve itself without a huge amount of manual intervention by everyone involved.
That would take quite a bit of planning and effort, and the attacker would need to have huge amounts of hashing power plus incredibly good timing. Oh, and they would only get one shot getting it right, since that fork is only possible during the moment when the network changes rules. Plus, I'm not sure what anyone could possibly hope to gain by doing it.
And if it even looked like it was possible that someone might do it, we could randomize the rule change time. Instead of coding it so that the rules change starting with block # X, we could say that the new rules take effect on the first block following # X where the
last 8 bits of the header hash are all zero. That would be totally unambiguous on the network, but still impossible to predict.
Note that under the current rules, if you generate two coinbases with the same transaction and wish to spend both of them, you must spend the first one before you generate the second one. The duplicates in the past can't be fixed. All in all, this is a very strange quirk of the system that needs to be fixed, but not a security issue.