You are adding SpriteB as child of SpriteA, so of course the position is relative (to Sprite A).You should add SpriteB as child of the same parent as SpriteA for the to share the system of coordinates, or transform the coordinates to the system used by SpriteA.

If you need or want SpriteB to be a child of SpriteA, the correct position would depend on the anchor points of both images. For example:

SpriteA->setAnchorPoint(ccp(0,0)); // the anchor point is in the bottom-left corner of SpriteA
SpriteB->setAnchorPoint(ccp(0,0)); // the same
SpriteB->setPosition(ccp
(
0 // because the position is relative to SpriteA's bottom-left corner, X position should be 0
,SpriteA->boundingBox().size.height // to get the Y position relative to the bottom-left corner of SpriteA, use SpriteA's height.
));