Taking a step back from the discussions about incentives for generators to ask the question: How much hashing power is actually needed? More is of course better, all else equal, but how much is sufficient?
First, what is it good for? Preventing double spending. If the difficulty is high enough that it costs more to generate a (chain of) block(s) that omits a payment made than the payment itself is worth then double spending fraud is unprofitable. That's it.
There is more to profit from reverting big transactions than small, so the larger the transaction the more blocks the recipient has to wait until considering it confirmed.
For most practical purposes the difficulty won't need to be more than about the worth of a used car per block. Transactions higher in value than that are generally made over longer time, between known participants writing contracts and don't have to rely on the Bitcoin protection anyway.
Currently the difficulty should be worth about 50 BTC/block, considering that the block reward is 50 BTC and most generators do it for profit. That's a bit small if you're selling a 20 000 BTC car and have to wait two days for the transaction to be confirmed.
But the eye watering beauty of the system is that a single 50 BTC/block generator (or whatever the difficulty is) single handedly foils the plots of a million (or however many) 50 BTC scammers who collectively could have gained 50 000 000 BTC on their scams.
The happy conclusion is that not much generating power will ever be needed and that transaction fees can be really tiny forever.