Component2.ReferencedConfiguration not returning the referenced configuration if part IDs are the same

Hey, so I ran into an issue inside of VB.NET just recently here. I'm traversing through an assembly by features and then casting the feature to a component if it is identified as a part or assembly document. The issue I'm running into is with grabbing the properly referenced configuration. I'm wondering if anyone else has run into the same issue and if there is a resolution. I couldn't find anything by searching through the forum that deals with this specific issue. Let's see if I can explain the situation properly. I have an assembly (named #1) in which I have two configurations, lets call them "left" and "right". In this assembly I have, for the sake of simplicity, one single part (named #2), with a left and a right configuration. Now, I make a top level assembly, and put both the left and the right configurations of #1 into this assembly. When I traverse through the top level assembly, Component2.ReferencedConfiguration always returns the first referenced instance of the configuration of #2. It's a little confusing, but I'll try and attach an image to clarify.

From what I can tell, it looks like since the instance IDs of the model are the same in both cases of "Part1" <1>, the component that's cast by getselectedobject6 is always the first encountered configuration of that model? If you watch component2.Name, the name for Part1 is Part1-1, where as the names for BuggedAssem1 are BuggedAssem1-1 and BuggedAssem1-2, where the dash number is the actual instance ID of the part/assembly. The instance IDs are different for "BuggedAssem1" <1> and <2>, and this returns the correct referencedconfiguration. Right clicking on part1 from the feature tree though shows the proper referenced configuration highlighted. Thoughts?

I couldn't figure out how to insert a code snippet, so I attached an image of the generalized traverse code I'm using (I've left a lot of the declaration and whanot out, but myASM is basically the active solidworks document, assuming it's an assembly file. And yes, I know I mix and match CType and DirectCast ). I've also trimmed all the "meat and potatoes" out of the body of the traversal code. Thanks is advance for any and all suggestions!

SolidworksApi macros