I wrote that part on the Tetris Wiki but I don't know the exact numbers either. My values are rough estimates by recording videos and watching them frame by frame. What I am sure is that the expanded time is linear in the number of cleared lines

BaseTime[counter] + NumberOfClearedLines * BonusTime[counter]

Or equivalently, the program code could look like that (here BaseTime2 is the time gained by a Single lineclear):

BaseTime2[counter] + (NumberOfClearedLines - 1) * BonusTime[counter]

For example if counter = 0, then BaseTime is 2.4 seconds (BaseTime2 is 3.6) and BonusTime is 1.2 seconds, so when starting a combo a Single gives 3.6 seconds combo time, a Double 4.8 seconds, a Triple 6.0 seconds and a Quadruple 7.2 seconds. Not sure if BaseTime and BonusTime are saved in an array or if they follow a mathematical formula.

With higher combo counter, BaseTime and BonusTime begin to shrink. BaseTime will become negative for higher current combo counters, which means eventually you'll lose time - even if playing at lightning speed and always clearing lines. This means, there's a theoretical highest max combo. For humans, I'd make the following assumptions to determine the highest possible combo:

- player plays at 240 BPM (4 pieces per second)
- player always clears lines during the combo (not clearing a line means 0.4 sec time loss)
- player starts with 2 Tetrises (Quadruples) and makes Singles only afterwards

Players get the highest combos by stalling and accepting opponent's garbage, so clearing Singles only at the end of the combo is very likely. I would say under these assumptions, the highest possible combo is 15, maybe even 16. I'd like to know the exact formula myself. Maybe Simon can post it.