Thank you for your help.
I've tried a few things with constraints but they don't quite do what I am after. Lets start over again - I'm writing a script that helps with lighting.
I pick a point on a surface and automatically a light will be positioned to create specular at the surface point. This is to replicate the place highlight tool from 3dsmax.
If I use a normal constraint to constrain a box to an object that is "Live" I can move the box over the surface. Now if I mirror the position of the camera around the box's local axis I'll get the point of where the light needs to be to create the specular at the point of where the box is constrained. With parenting this all works well but as soon as I move the box (changing the position that needs specular) it doesn't maintain the light in the correct position - a little hard to explain.
I can almost do this with parenting but what I need to do is for a child object not to move position when I rotate the parent. It