I'm sorry I missed your son's upsherin. Mazel tov! I especially wanted to come as I know nothing about this custom. What is the idea behind leaving a child's hair uncut until the third birthday?
The education of a child starts at birth, or even before. The newborn soul absorbs everything he is surrounded with, and so during the early years of life we try to provide a child with an environment that is holy and wholesome, an atmosphere of love and purity. We don't want to expose this precious soul to negative images, impure energy or ugliness. For while he may be too young to be consciously aware, he is taking everything in. The books we read to him, the pictures we show him, the conversations we have in front of him, all leave an imprint on his consciousness.
Age three is a turning point in the development of a child's mind. He becomes more aware of himself and attentive to what is going on around him. He starts to absorb lessons not just by osmosis but by conscious learning and instruction. His education must now be more formalised and deliberate, as he starts to learn concepts and shapes, letters and numbers, right and wrong.
In the Kabbalah, the hair represents the unconscious, that which surrounds the mind. For the first three years of life it is this part of consciousness that develops and grows. We can't expect the child to learn formally, so rather than try to shape his mind internally through formal education, we teach him through immersing him in goodness and surrounding him in purity. Then at age three we give him a haircut, taking this wild energy and channelling it into a neat order. The time has come to take that which surrounded his mind and bring it down into his conscious mind.
Becoming a parent means being entrusted with a little piece of the divine. Being a good parent means surrounding your precious gift with the love and holiness that will make his soul shine, and trimming his wildness so his energy is channeled for the good.