Ситуация не совсем понятная

Если вы используете XMLSocket, то DataEvent.UPLOAD_COMPLETE_DATA будет вызываться на каждый полученный блок данных. Каждый блок - это UTF8 строка, заканчивающаяся нулевым байтом. Если просто попробовать передать бинарные данные, то неизвестно чем это вообще закончится и проблема далеко не в перекодировании String в ByteArray. Если вы все таки хотите использовать данным образом, то необходимо придумать какую нить оболочку для данных (например, перегнать их в base64 на сервере), после чего передать, добавив нулевой байт в конец, а на флеше декодировать из текста (разобрав тот же base64) и записать результат в ByteArray.
Проще все таки передавать ссылку...