1)

Код AS3:
function getDataXML(e:Event):void
{
loadXMLdata = XML(e.target.data);
//а вот тут нельзя создать экземпляр createObj?
}
2)
Можно прямо в createObj загружать xml, но технология там будет такая же: "событие окончания загрузки->всё остальное".
3) Можно перед вызовом конструктора createObj проверять, завершилась ли загрузка, и если нет не создавать createObj (если его создание не критично или пользователь может самостоятельно генерировать попытки его создания. например по нажатию на кнопку).
4) не уверен, что получится, но можно попробовать написать супер-корявый код:
сделать бесконечный цикл, выходом из которого будет событие окончания загрузки.
(допустим, в цикле можно проверять переменную, которая после окончания загрузки меняется на то значение, которое удовлетворяет выходу из бесконечного цикла). Но даже если это и заработает, тут есть подводные камни: защита флеша от зацикливания (по-умолчанию, там вроде 15 сек дается), ситуация, когда загрузка не происходит. Плюс ко всему, я бы постеснялся писать такое))