I have the following AS 2.0 class:

In the constructor I have an XML object which is intended to recieve the XML from an ASP.NET page. When I run this code the way it is written, flash gives me a 'Error reading URL' error.

However if I uncomment this line in the constructor, and have the .aspx page send back some test XML, it loads and parses fine.

//this.loginReplyXML.load("http://xxxxxxxxx/VideoLaunch/loginTest.aspx");

So what I can't understand, is why XML.load works, and XML.sendAndLoad doesn't. I thought it might be a security issue, but I can't find a clear answer on that either. Any help would be greatly appreciated!

PHP Code:
class logandload extends MovieClip {
    var inpUsername:TextField;
    var inpPassword:TextField;
    var responseField:mx.controls.TextArea;
    var submitButton:Button;
    var loginReplyXML:XML;
    public function logandload() {
        super();
        this.responseField.hScrollPolicy = "off";
        this.responseField.vScrollPolicy = "on";
        this.responseField.editable = false;
        this.responseField.text = "Login System Initialized...";
        this.submitButton.onRelease = this.submitLogin;
        //create reply XML object
        this.loginReplyXML = new XML();
        this.loginReplyXML.ignoreWhite = true;
        this.loginReplyXML.onLoad = this.handleReply;
        //this.loginReplyXML.load("http://xxxxxxx/VideoLaunch/loginTest.aspx");
    }
    public function submitLogin(evt:Object):Void {
        _root.loginMC.responseField.text += "\nCreating XML string....";
        var loginXML:XML = new XML();
        var rootNode:XMLNode = loginXML.createElement("login");
        var userNode:XMLNode = loginXML.createElement("user");
        var passNode:XMLNode = loginXML.createElement("pass");
        var userData:XMLNode = loginXML.createTextNode(_root.loginMC.inpUsername.text);
        var passData:XMLNode = loginXML.createTextNode(_root.loginMC.inpPassword.text);
        loginXML.appendChild(rootNode);
        rootNode.appendChild(userNode);
        userNode.appendChild(userData);
        rootNode.appendChild(passNode);
        passNode.appendChild(passData);
        _root.loginMC.responseField.text += "\nXML Data Created for Login:";
        _root.loginMC.responseField.text += loginXML.toString();
        _root.loginMC.responseField.vPosition = _root.loginMC.responseField.maxVPosition;
        loginXML.xmlDecl = "<?xml version=\"1.0\" ?>";
        
loginXML.sendAndLoad("http://xxxxxxxx/VideoLaunch/loginTest.aspx"_root.loginMC.loginReplyXML);
    }
    public function 
handleReply(success:Booleanevt:Error):Void {
        
_root.loginMC.text += "\nReceived response from Server...";
        if (
success) {
            
_root.loginMC.responseField.text += _root.loginMC.loginReplyXML.toString();
            var 
myUser:XMLNode _root.loginMC.loginReplyXML.firstChild.childNodes[0].firstChild.toString();
            var 
myPass:XMLNode _root.loginMC.loginReplyXML.firstChild.childNodes[1].firstChild.toString();
            
_root.loginMC.responseField.text += "\nUser Name is "+myUser;
            
_root.loginMC.responseField.text += "\nPassword is "+myPass;
            
_root.loginMC.responseField.vPosition _root.loginMC.responseField.maxVPosition;
        } else {
            
_root.loginMC.responseField.text += "\nSomething went wrong!";
        }
    }
}