It is very easy to add new features to the code, but since it's cellular automation every line of code could heavily impact performance. My app also has one flaw. Speed of sand fall is relative to iDevice speed. In default field should be updated 60 times per second, but on slowest devices it get no more than 15 frames per second. I have only iPhone 3G at the moment, so I really can't test it on faster devices. I tested a lot of things, like density, better water simulation, but it behave strangely. I also spent several hour in finding the right way to update grains in array. Finally I used a second array with "moved" flag for every grain. Without it strange things happened. Like sand grains moving left and teleporting to the right. Accelerated grains would require checking for collision every pixel they skip, but it's actually a good idea worth checking. There's an update in review at the moment with crash bug fixed, but when it'll be in appstore, i will try to implement accelerated grains.
Now I'm finishing work on my 3rd app(my second game using cocos2D). But afterwards I will make water simulation similar to Sand in a Box, also free with iAd. It will be new app because I will use different cellular automation algorithm with new features like pressure simulation, and fluid diffusion. I will write whole algorithm from scratch, because data structures I used in Sand in a box aren't suitable to this.