David,
The shader generator is a useful tool when you're loading a 3D model from disk and using it as-is. If you are creating your own geometry and manipulating it, I recommend creating your own shaders instead.
Whether you need to modify shaders depends on the change. Geometry or texture changes, no. Adding or removing a texture, yes.
The SG will create new shader snippets each time you run it. Optionally you can supply a StateSetCache that will cause it to reuse existing snippets. This is critical for run-time performance.
The SG is a visitor so it doesn't matter which node you start at - it will descend the tree and do its business.
Glenn Waldron / Pelican Mapping