I have a recent issue where when I parent a spotlight to a Null, it reorients itself. It also won't rotate the same direction as the parent null, it isn't "locked" to the parent. I noticed that there was an auto orient to point of interest, which i never noticed before, and turning that off did help, but i still would like to use two-node spotlights if possible! Past behavior when I parented spotlights, the point of itnerest would also be controlled by the null, everything existed in the parent-space. Is this an updated behavior in a recent version, or is there a checkbox I need to check somewhere? Any insight would be appreciated. It has completely upended my workflow.
Probably yet another side effect of the recent 3D space changes indeed that went undetected. I have no really good answer for you, though. The one thing I could think of is applying a dummy layer space transform expression like toWorld(). this may enforce a different, more expected behavior. I'd at least try it.
A Spotlight has no Anchor point, it has a point of interest offset in Z. When Auto Orient is turned on, there is no Orientation property. Position directs orientation by measuring the angle between the light's position and the Point of Interest. As far as I know, it has always been that way.
When you parent a spotlight to a 3D layer (null) the point of interest changes to the anchor point of the layer. On a null, that would be 0,0,0.
If you turn off Auto Orient then orientation comes back and it is now controlled by the orientation of the null.
The proper workflow to parent a spotlight to a null is to turn off Auto Orientation, Shift + Parent the Spotlight to the controller layer (3D Null). This will snap the spotlight to the same position, orientation, and orientation/rotation as the parent layer. Open the Position property of the Spotlight and adjust only the Z position value to move the light away from the null. As far as I know, unless you use expressions for everything, this has always been how you parent a spotlight to a null.