100 years or whatever is a long time.
When this block subsidy arrives at 0 - transaction volume could suffice or there could have been a change somewhere/somehow (either a protocol adjustment or a new currency that the masses use instead of BTC, not that they're using it right now though..).