If you don’t want a pre-packaged system, you should use CentOS 5, as that is the Linux distribution on which most of the development is done.
My impression is that the normal rules about GUIs apply. If you are doing simple things that fit within the conceptual model of the GUI, they can be easy and they can be used to de-skill moves and changes. However, if you want to do anything out of the ordinary, you cannot expect GUI users to know how to do them. Also, if you get into extensive debugging, they people who know how to debug do so in terms of raw Asterisk, not the GUIs, and they don’t necessarily have detailed knowledge of the boiler plate code used by the GUIs.
I would therefore suggest that, even if you intend to use a GUI, you start by trying to configure a simple system without one.