Is a child...yet is not a child

Check this crazyness out.
Frame 1:

var m:MovieClip=logo;   // Frame 1: Only thing on the timeline is a movieClip named "logo"

Frame 2:


//Frame 2: No longer has anything on the timeline
stop();
trace(m.parent);    //Traces out: [object MainTimeline]
trace(m.parent.contains(m));    //Traces out : true
try{m.parent.removeChild(m);}catch(e:*){trace(e);}   //Traces out : ArgumentError: Error #2025: The supplied DisplayObject must be a child of the caller.
trace(m.parent.addChild(m));   //Traces out : [object MovieClip]
try{m.parent.removeChild(m);}catch(e:*){trace(e);}  //Traces out : ArgumentError: Error #2025: The supplied DisplayObject must be a child of the caller.
addChildAt(m,0);
try{trace(getChildAt(0));}catch(e:*){trace(e);}  //Traces out : RangeError: Error #2006: The supplied index is out of bounds.

WHAAAAAAATTT???