Для начала: из какого места кода вы пытаетесь загрузить картинку?
Это надо делать, когда уже определена переменная urlFon, то есть изнутри обработчика onLoad.
То есть попробуйте loadClip записать внутри него после получения значения переменной.
А все остальное (создание экземпляра MCL и прочее) можно оставить снаружи, это выполнится мгновенно, в отличие от загрузки url картинки.
То есть так:

Код AS1/AS2:
var lv:LoadVars = new LoadVars();
lv.onLoad = function(success:Boolean) {
if (success) {
urlFon = this.urlFon;
loadImage(urlFon);
}
};
lv.load(......);
.....
mcLoader = new MovieClipLoader();
attachMovie("Fon", "Fon", 1);
function loadImage (picurl:String) {
mcLoader.loadClip(picurl, Fon);
}
Не знаю, решит ли это конкретно вашу текущую проблему, однако делать нужно именно так в силу асинхронности работы кода AS.
PS. Если загрузку картинки больше нигде не надо использовать, можно обойтись без спец.функции, а записать строку загрузки прямо сразу внутри onLoad:

Код AS1/AS2:
mcLoader = new MovieClipLoader();
attachMovie("Fon", "Fon", 1);
var lv:LoadVars = new LoadVars();
lv.onLoad = function(success:Boolean) {
if (success) {
mcLoader.loadClip(this.urlFon, Fon);
}
};
lv.load(......);