You are right that the current firmware support up to 14 programs. Because programs must be stored in non-volatile memory (EEPROM) space, and there is only a limited amount of EEPROM on the microcontroller (2K bytes), it has to be limited. Earlier firmwares (2.0.9 and prior) do not support individual water time per station within a program, hence they allow a large number of programs. The current firmware supports individual water time per stations within a program, therefore the number of programs is significantly lower. Still, for most users 14 programs are well above sufficient.
If you are not using all 48 stations, one immediately solution you can use is to modify the firmware code to limit the number of stations. Specifically, change the MAX_EXT_BOARDS:
to fit exactly the number you need. For example, if you only have 24 stations, change MAX_EXT_BOARDS to 2 (e.g. for a total of (1+2)*8 = 24 stations). This will halve the data per program, and consequently should allow almost twice as many programs. This does require you to compile the firmware code, but will definitely allow you to use more programs.