Consensus on the bitcoin-dev IRC chat is that no other versions have penalized forwarding of pre-mature spends of coinbase transactions, but that there doesn't seem to be any real use-case for such a feature.
I was thinking that it could be used to make the coinbase smaller by paying to a transaction rather than a list of addresses.
This would make automatic mining software easier. You wouldn't need to hash a 10-20kB coinbase to update the extraNonce.
It requires a way to "pay to transaction", which isn't supported.
Miners could wait the 100 blocks and as long as at least one of them remembers the transactions, then it doesn't matter about the delay.
A hard-fork rule would be that transactions are allowed to spend the coinbase in the current block. The outputs of those transactions are considered coinbase outputs for the purposes of the 100 block rule.
The could add an opcode OP_HASH_THIS_TRANSACTION.
It hashes the current transaction
TXID for this input is set to 32 zeros
scriptSig is set to zero length
The scriptPubKey would be
OP_HASH_THIS_TRANSACTION OP_EQUALVERIFY
The scriptSig would be empty. The scriptPubKey does the verification on its own.
Since the new opcode ignores the TXID it can be set after the coinbase is setup.