I just noticed some odd behavior, but I think it's supposed to be that way.
I have an assembly open which contains subassemblies. When editing subassembly in context of parent assembly, Insert > Component > New Part... creates a virtual component in the subassembly which: 1) is not fixed, and 2) inherits its origin from the parent assembly. This was new behavior to me because I am learning to subdivide large designs into more subassemblies for performance improvement. Even so, there were no external references in the part in its initial condition.
I open the subassembly (therefore within its own context). Then, Insert > Component > New Part... creates a virtual component there which: 1) is fixed, and 2) inherits its origin from the current assembly which is a subassembly in the larger parent assembly. This is the typical behavior I expect from past experience.
Note that it was useful in my design to begin the subassemblies independently, and insert them into the parent assembly. Also, the same Part template was used in each case.
Therefore, new virtual components behave differently depending on what the current top-level context is, and it will inherit the origin and alignment with that top-level context. I do not know of any means to alter this or manage one preference over another, other than to pay attention to current top-level context when inserting them as new.
SolidworksModeling And Assemblies