Это не правильно:
public function deleteWidget(objName:String):void {
this.removeElement(objName as IVisualElement);
}
Вместо этого вы должны передавать ссылку на объект:
public function deleteWidget(obj:IVisualElement):void {
this.removeElement(obj);
}
Или, если (по какой-то причине), вы должен передать только Id в виде строки, вам все равно нужно получить ссылку на реальный объект.Может быть что-то вроде:
public function deleteWidget(objName:String):void {
this.removeElement(this.getChildByName(objName) as IVisualElement);
}