こちらのエントリーで取り上げた問題ですが、taro先生による解説で原因が判明しました。
例として、下記のようなコードでURLLoader.load()を実行します。

var req:URLRequest = new URLRequest();
req.method = URLRequestMethod.POST;
req.url = "http://hoge.com/api/hoge/";

var value:String = "hoge";
var variables:URLVariables = new URLVariables();
variables.key = value;
req.data = variables;

var urlLoader:URLLoader = new URLLoader();
urlLoader.dataFormat = URLLoaderDataFormat.VARIABLES;
urlLoader.addEventListener( Event.COMPLETE, urlLoadCompleteHandler );
urlLoader.load( req );

この時、APIからのレスポンスを

<node><![CDATA[http://www.hoge.com/hoge.php?id1=00000&id2=00000]]></node>

とし、urlLoader.dataで受けると、
URLVariablesは名前と値のペアを含むURLエンコードされたストリングを扱う為、&の位置でスプリットされ

_urlLoader.data['<node><![CDATA[http://www.hoge.com/hoge.php?id1'] //00000
_urlLoader.data.id2 //00000]]></node>

というカタチで格納されることになります。

このレスポンスをどう受け取るかという問題ですが、API側で値の調整ができない場合、前の記事で行っていたload直後にdataFormatをTEXTにするという対応は一応回避策としては有効であるといえます。

_urlLoader.load( req );
_urlLoader.dataFormat = URLLoaderDataFormat.TEXT;

前の記事で主に問題にしていたのは、この&でスプリットされる所だったのでやや焦点がずれるカタチですが、なんにしても戻り値の取り扱いには注意が必要ですね。

HTML5飯