Вот это класс коннекта к амф если чего:

Код AS3:
package classes.server
{
import flash.net.Responder;
import flash.net.NetConnection;
/**
* ...
* @author Dukobpa3
*/
public class Amf
{
private var nc:NetConnection; //--
public function Amf(hostname:String) {
//trace("creating Amf")
nc = new NetConnection();
//trace ("nc done")
nc.connect(hostname + "amfphp/gateway.php"); //--коннектимся к серверу и к обработчику amf
//trace("connected")
nc.objectEncoding = 3; //--метод кодирования
//nc.
}
/**
*Выполняет запросы к amfphp
* wht - сервис и имя запрашиваемой функции (дальше в примере покажу)
* cb - функция, вызываемая при получении ответа
* args - аргументы, которые должны передаться запрашиваемой функции от серверного скрипта, указываются через запятую) т.е. может быть хоть один хоть десять.
*/
public function toamf(wht:String, cb : Function, ... args) : void {
//trace ("start \"to amf\"")
var resp : Responder = new Responder(cb, onFault); //--обработчик ответа сервера, если все ок, то вызываем переданную нам функцию для ответа (cb), если нет, то функцию сообщения об ошибке.
//trace ("пфтаемся вызвать функцию")
nc.call.apply(null,[wht,resp].concat(args));
//nc.call(wht, resp, args); //--немного непонятно, но вкратце: запускаем функции отсылания запроса на сервер, задаем функцию обратного вызова и параметры + функцию при ошибке выполнения.
//trace ("вызвали")
}
private function onFault(res:Object):void { //--при ошибке выполнения запроса
trace('К севраку не достучались, ответ: ' + res);
}
}
}
А так вообще чуток погуглить почитать придется. Есть и покруче класс, но там дольше разбираться и понимать чем одно письмо отправить.
Добавлено через 2 минуты
Так а с вашим скриптом что не так? По коду вроде всё правильно (прибеднялся я насчет урлРеквестов

Но мне амф-пхп действительно проще в разЫ)