DRAW - Children of shape - strange behavior

Hello All,
I have a document imported from a step file, it's Xdump looks like this:

Draw[19]> Xdump frame

ASSEMBLY COMPOUND 0:1:1:1 "HR BEFESTIGUNG"
INSTANCE COMPOUND 0:1:1:1:1 (refers to 0:1:1:2) "0000_0000_000_00_--_R---_---_0_REF.1"
INSTANCE COMPOUND 0:1:1:1:2 (refers to 0:1:1:3) "1209_1002_400_00_--_----_--B.1"
INSTANCE COMPOUND 0:1:1:1:3 (refers to 0:1:1:57) "1209_1002_400_00_--_D-13_---.1"

PART COMPOUND 0:1:1:2 "ZENTRALES ASSEMBLY REF-CATPART"

ASSEMBLY COMPOUND 0:1:1:3 "HR DSK D208 MAN 3650 TGM"
INSTANCE COMPOUND 0:1:1:3:1 (refers to 0:1:1:2) "0000_0000_000_00_--_R---_---_0_REF.1"
INSTANCE COMPOUND 0:1:1:3:2 (refers to 0:1:1:4) "0000_1006_701_00_--_----_--A.1"
INSTANCE COMPOUND 0:1:1:3:3 (refers to 0:1:1:21) "0000_1007_208_00_--_----_---.1"
INSTANCE SOLID 0:1:1:3:4 (refers to 0:1:1:27) "0000_1122_571_00_--_----_---.1"
INSTANCE SOLID 0:1:1:3:5 (refers to 0:1:1:27) "0000_1122_571_00_--_----_---.2"
INSTANCE SOLID 0:1:1:3:6 (refers to 0:1:1:28) "0000_1128_310_00_--_----_---.1"
INSTANCE SOLID 0:1:1:3:7 (refers to 0:1:1:28) "0000_1128_310_00_--_----_---.2"
INSTANCE SOLID 0:1:1:3:8 (refers to 0:1:1:28) "0000_1128_310_00_--_----_---.3"
INSTANCE SOLID 0:1:1:3:9 (refers to 0:1:1:28) "0000_1128_310_00_--_----_---.4"
INSTANCE SOLID 0:1:1:3:10 (refers to 0:1:1:29) "0000_1128_326_00_--_----_--A.1"
....
....
PART SOLID 0:1:1:82 "WINKEL HR KONSOLE"

PART COMPOUND 0:1:1:83 "STARTPART SNG"

Free Shapes: 1
ASSEMBLY COMPOUND 0:1:1:1 "HR BEFESTIGUNG"

I want to traverse the node 0:1:1:1 to find the node INSTANCE COMPOUND 0:1:1:1:2 (refers to 0:1:1:3) "1209_1002_400_00_--_----_--B.1" by a regular expression matching it's name and to get the shape from 0:1:1:3 which is referrenced by 0:1:1:1:2.

I've noteced, that I can get the first interesting node by using XGetFreeShapes frame which gives me back 0:1:1:1
I can than traverse it's children by Children frame 0:1:1:1 which gives me 0:1:1:1:1 0:1:1:1:2 0:1:1:1:3.

But when I store the node returned from XGetFreeShapes to a variable like that:
set s [XGetFreeShapes frame]
than Children frame $s returns 0

Draw[43]> XGetFreeShapes frame
0:1:1:1
Draw[44]> set s [XGetFreeShapes frame]
0:1:1:1
Draw[45]> Children frame 0:1:1:1
0:1:1:1:1 0:1:1:1:2 0:1:1:1:3
Draw[46]> Children frame $s
0
Draw[47]>

What is the proper way how to do that?

Thank you.