HI Nicolas,
This code was built to support a different usage of Hikashop options. I wanted to create a Father-Son relationship between products. In many cases characteristics just won't do the trick. Take for example a case in which I sell drills for power tools. Each power tool has several drills but each drill has several very different variants. In this case, I would have had to make endless amount of characteristics. In my model, I've entered the different variants as products in a different (hidden) "Product sons" category. Each variant has a unique code, price and much more. Then I've added this son products to the father product as options. That way I have a much more powerful tool to manage variants 
You guys should really consider this solution as a built in feature. It helped me in several cases that characteristics couldn't.
For this usage, my code is perfect.