Hey there @Dew,
The reason for the last element not being adding to when you build it because that last element in the guide is acting as an “aim/orientation” for the actual last bone to point to as well as to calculate the size of the control. You can see this with most components, let’s take the chain, for example, if you move those guides further away from each other, the lengths of the controls (cubes) always adjust to that length between each point. - talking out of the box standard setup here - with regards to dubugging your code, I mentioned in another post about a handy “workflow” when developing these guides:
from mgear import shifter
shifter.reloadComponents()
You can combine it with selection your guide and running this:
shifter.Rig().buildFromSelection()
The reloading components part should hopefully help you out to maybe see what you get if you have a bunch of print statements.
If you look in any component, normally it saves out all the positions of the guides in a class variable called self.guide.apos
In the base class for the component guide, you’ll find all these useful goodies. These will help you looking for all the information that you are interested in when the guide builds.

Hope that this helps you a bit man!