Find coordinates relative to a grandparent?

Evening all,
I have a series of embedded sprites and I need to find one’s position relative to it’s great-grandparent. I have tried several methods, including getting target and grand parents global and then subtracting (And adding) or just getting target.x + parent.x + grandparent.x + great-grandparent.x

But they all seem to yield crazy responses. The Global methods may not work because the great-grandparent is draggable so it’s position relative to stage 0,0 may change.

When it seems like it is working (for instance putting target over the grandparent that I know the co-ords of and getting what I expect) whenever I then try and move the target closer to the top-left of the great-grandparent it goes into negative thousands.

Am I missing something stupidly obvious? To explain my intention, the user lays way points then they are stored in the database and then flash can draw them onto the map (but not in the same relative-region they were drawn in, if that makes sense) So I need to store where it should display them relative to the map’s 0,0.

Any help is greatly appreciated! Thanks.