It doesn't necessarily need to be flat up to some critical value, but it does need to be very shallow in comparison. Consider the function:
Say you have a game that costs 10 to play and pays out 100k one time in one million with no other prizes. This is obviously a very unfair game. The expected income change of this game is -9.9.
Now say i=20,010 before playing. Expected utility without playing the game is trivially 20,010. Expected utility with playing is [(20k)*(10^6-1)+(100k+2^20k)]/10^6. This is a stupidly high number, in the 4x10^6020 neighborhood.
It should be possible to produce a more natural form that does this, without going piecewise.