I solved it already.
Instead of using the constructor
public static Rebar CreateFreeForm(
Document doc,
RebarBarType barType,
Element host,
IList<IList<Curve>> curves,
out RebarFreeFormValidationResult error
)
And getting and setting hook parameters like type and rotation (Where hook orientation seemed to change based on rebar coordinates.)
I used this contructor instead, which usesRebarHookOrientation startHookOrient, RebarHookOrientation endHookOrient, and solves the problem.
public static Rebar CreateFromCurves(
Document doc,
RebarStyle style,
RebarBarType barType,
RebarHookType startHook,
RebarHookType endHook,
Element host,
XYZ norm,
IList<Curve> curves,
RebarHookOrientation startHookOrient,
RebarHookOrientation endHookOrient,
bool useExistingShapeIfPossible,
bool createNewShape
)
Hope it helps somebody with the same problem.