@Randy: in theory it’s fairly easy to change a couple of macro defines in defines.h and that will instantly enable twice as many programs. Assuming you have OpenSprinkler 2.3 (or OSPi/OSBo), which has twice as much EEPROM space, you can change the NVM_SIZE from 2048 to 4096. Then suitably increase MAX_PROGRAMDATA to use the extra 2048 bytes. However, I should be cautious in saying so because the app might be making certain assumptions about the number of programs and so this needs to be checked and verified.
Just in case, I assume you are using a fairly recent firmware, which supports per-station water time per program, is that right? If you are using an old firmware, that only supports a uniform water time per program, and that was a big limitation.