Просто, я так понимаю, в компоненте уже задан обработчик onLoad, а если пользователь случайно его переопределит, то компонент не будет работать. Если чесно, я бы скорее отказался от использования onLoad для инициализации, чем делать такие непонятные пользователю вещи =) ну, или уж как-нибудь добавлял вызов пользовательской функции после "родной" инициализации. Т.е. при попытке пользователем переопределить onLoad записывал бы ссылку на пользовательскую функцию в переменную класса, и вызывал бы ее в конце "родного" онлоад:

Код:
/**
* ...
* @author wvxvw
*/
import mx.utils.Delegate;
class NoOnLoad extends MovieClip
{
private var onLoadDelegate:Function;
public function NoOnLoad()
{
super();
this.onLoad = Delegate.create(this, realOnLoad);
this.watch("onLoad", onLoadWatcher);
}
private function onLoadWatcher(prop:String, oVal:Function, nVal:Function):Function
{
onLoadDelegate = nVal;
return Delegate.create(this, realOnLoad);
}
private function realOnLoad():Void
{
// doing our predefined stuff:
trace("Do not override!");
// calling custom function:
if (onLoadDelegate)
{
onLoadDelegate.apply(this, arguments);
}
}
}

Код:
import mx.utils.Delegate;
var thisScopeVar:String = "thisScopeVar";
function onLoadOverride():Void
{
trace("Test Delegate "+this.thisScopeVar);
}
test.onLoad = Delegate.create(this, onLoadOverride);
/*
test.onLoad = function():Void
{
trace("custom action");
}
*/