Let me try to explain on how check-out/ref-out works.
Referencing out a query results:
So, when you do create a query (search) you do select a class of which type you will be referencing components. So, if you do select a class Pipeline (PIPING_NETWORK_SYSTEM) as a search class, when you do try to reference out that full search it does only reference out classes which were searched for (and in case sub-types were selected it's child classes). As PIPING_COMPONENT is not a child component of a PIPING_NETWORK_SYSTEM class (they just have relationships between them), they are not included into the referenced out components. However you have an option in a tree to browse through relationships and find and retrieve the components you need further down.
Referencing System/Unit for a possible refresh later on:
As getting back to the original question, the correct way to do this would be to use a root node class in OPMS tree for such a reference out, which by default are Area, Service and Unit. If you use that node to reference out components, once something is changed under that node (new components added to existing pipelines, new pipelines created or deleted, etc.) once that file is reopened and Refresh All command is initiated (Key-in: opms refresh all) all the changes under that specific root class will be updated to your master reference file.
If you need some other class to group by, not the default Unit/Area/Service you can mark it to be root node in supplemental OPMS schema (as I can see from Marks screenshots you already have done that).
Let me know if you'll need more help with this.
Justinas