At the risk of seeming pedantic I don't agree with the calculation in your second paragraph but still very much agree with your general point. A memory bit is needed for each stop/piston/memory permutation which can give a huge number of permutations. Systems these days normally have enough memory reserved per memory level so that each piston could theoretically be a general piston (thus needing 128 bits for 128 stops say). Allow for 128 pistons per memory level. Thats 128 x 128 bits = 16,384 = 16K per memory level. For 128 memory levels, 128 x 16K = 2Mb would be needed although much of this in reality is like to end up redundant due to maximum parameters not being generally used on most organs. I do admit however this is getting a bit academic because 2Mb of memory is still pretty cheap. As a 1Mb serial Eeprom costs about £2.00 this is peanuts compared to the cost of the coil driving outputs, PCBs, case, connectors, design. etc.
John R