I have been working with SAGA for a while. It is powerful, straightforward, and fast. I also created a couple of custom modules and, while there are some problems, it was doable. While using the GUI is easy, dealing with the API is not as smooth: there are no good tutorials to get started (the one in the "A Gentle Introduction to SAGA GIS" misses some important aspects and is a bit outdated). I was working with version 2.1.2, but the documentation available was for a different incompatible version, and I didn't get any help at the forum. Also, sorting out which libraries and compilers are ok with which version of the GUI can be a pain, and it is hard to find out why a custom library does not load at a given point. I also wish that you could easily work with a free IDE like Qt or Eclipse; instead, you have to develop your modules on Visual Studio. I also wish that the documentation in the modules was better: you cannot know what a module or some of their parameters do many times. All this said, I really appreciate SAGA GIS and I wanted really hard to develop my project as a series of modules on this platform. However, it seems that the availability of temporal 2D/3D data management in GRASS GIS will make us move towards that other package. If only they included this data type in the core...