+1  A: 

I can imagine what the problem is, but I can't seem to reproduce in a simple context.

Here is a 'dirty hack'...as2 style , based on the MOUSE_LEAVE thing.

input.onKillFocus = function(newFocus:Object) {
    trace(this._name+" lost focus. New focus changed to: "+newFocus._name);
    delete input._parent.onEnterFrame;
};
input.onSetFocus = function(oldFocus:Object) {
    trace(this._name+" gained focus. Old focus changed from: "+oldFocus._name);
    input._parent.onEnterFrame = trackMouse;
}

function trackMouse():Void{
    if(input._xmouse < 0 || input._xmouse > (input._x + input._width)) onMouseOut();
    if(input._ymouse < 0 || input._ymouse > (input._y + input._height)) onMouseOut();
}

function onMouseOut():Void{
    Selection.setFocus(dummyBtn);
}

Assuming input is a selectable textfield. If the textfield is focused I add an enterFrame listener to check if the mouse is over or outside the textield ( using input._xmouse, opposed to _xmouse which is global ). If the mouse is outside the text area, I change the focus to a dummy object( a Button called dummyBtn ). This works if you're in Firefox and you have a selection and release outside the swf, because as soon as you leave the textfield the focus shifts to the dummyBtn.

I admit it is a bit rough, if you still need the selection or something, so let me know.

Goodluck.

George Profenza
I believe that Selection.setFocus() didn't stop the selection that was "in progress" as far as Flash was concerned. To see the issue, use Firefox, and in any flash movie with a text field, click inside the text field and drag outside the entire flash. Then release the mouse, and with the mouse button up, hover over the text field. You'll notice selection continues.
Josh
I got to see what you meant and updated my example. setFocus() seems to work better with Button instances. You can probably hide the focus shift either by placing the button off stage, or setting _focusrect property to false.
George Profenza
Sorry, I have been meaning to test this for months and just haven't had a chance! I hope to test it in the next few weeks and will accept if it works.
Josh
Well it took me almost a year to finally implement this but I am extremely happy to say that it works! I had to hack it up quite a bit, rather than using a dummy button I have *two* textFields and i just swap which one is visible and focused. But aside from that I used your code and it solves the issue perfectly. Thank you!
Josh
@Josh Glad you sort it out! Thanks!
George Profenza
Hey @George -- Adobe finally fixed this bug! :-D
Josh
@Josh - That's good news! Thanks for the update
George Profenza