идея оказалась верной. Он действительно терял this. This для него оказывался сам сокет. Вот так работает:

Код:
function sendXML()
{
trace("in XMLStuff.sendXML")
Socket.send(RequestXML);
Socket.onData = distributeReplays;
Socket.foo = foo;
}
private function foo()
{
trace("in foo");
}
function distributeReplays(replay)
{
trace("in distributeReplays");
this.foo.call();
}
спасибо!!!