I'm using the "tag" to see which node is grabbed. For this instance, the first node, that has the nodes merged with it, is the one that contains "<name>0C55M100Y0K_Orange_Fill</name>" within it, so i'll be focusing on which nodes in the one with the "ColorId" tag are going through

For whatever reason, every other tag is going through. I understand why the "Id" tag is not going through, as it's accounted for in logic. I figured the ones with attributes were just ignored for some reason, but still doesn't account for the fact.
The ones that get caught in the for loop:

ColorId

Rotation

FlipX

ApplyObjectTransformation

AutoScale

Transformation_M1

Transformation_M3

Transformation_M5

Which, as I stated, is every other one. Let me know if you need more code. I'm at a lost as to why this is occuring.

I managed to fix it by using the next sibling method. it's a bit cleaner this way, so I don't fully mind. But still, is an issue.
For i = 0 To numwithtag - 1
Try
If child.GetParent.GetNthChildWithTag(parent, i).HasChildWithTag("Id") Then
id = child.GetParent.GetNthChildWithTag(parent, i).FindChild("Id").Content
If id = key Then
If timesfound = 0 Then
passxml = child.GetParent.GetNthChildWithTag(parent, i)
timesfound = timesfound + 1
ElseIf timesfound = 1 Then
Dim sibling As Chilkat.Xml = child.GetParent.GetNthChildWithTag(parent, i).FirstChild
While Not sibling Is Nothing
Dim check As String = sibling.Tag
If sibling.Tag = "Id" Then
Else
passxml.NewChild(sibling.Tag, sibling.Content)
End If
Dim nextsibling As Chilkat.Xml = sibling.NextSibling
sibling = nextsibling
End While