Penalty for too large block size is disastrous in the long run.
Once MRO value increases a lot, block penalties will become more critical of an issue. Pools will fix this issue by placing a limit on number and size of transactions. Transaction fees will go up, because the pools will naturally accept the most profitable transactions. It will become very expensive to send with more than 0 mixin. Anonymity benefits of ring signatures are lost, and the currency becomes unusable for normal transactions.
You are only looking at part of the system.
The block size grows if blocks are being penalized, and penalty free size grows as well. So you can't maintain high transaction fees.
Miners are supposed to limit transactions in each block. It is supposed to be profitable to include a small amount of transaction data that exceeds the penalty free size, because the penalty is initially small. This prevents bloat and serves as the feedback mechanism to the block size adjustment.
Currently I don't believe these mechanisms are even implemented correctly (as described in the paper). That should be fixed first.
Also, there is already a hard (but dynamic) limit on the size and number of transactions, so whether or miners limit transaction to reduce the penalty (as they should) the effect is essentially the same.
Whether the cost becomes prohibitive in practice remains to be seen. I don't think you can just guess. If it does, then yes a hard fork would be appropriate. By design this is supposed to be self regulating. An interesting experiment in any case.