Тигра,
1) да, ради ее иерархии и event flow
2) Вот мои размышления. Они касаются кастомных диспатчей, когда наш код самостоятельно вызывает метод EventDispatcher#dispatchEvent. Потому что системная диспетчеризация события не пользует метод dispatchEvent. По крайней мере, Event.ADDED, на котором я проверял.
Код AS3:
addEventListener('type', this.handler);
var eventOut:Event = new Event('type');
trace(eventOut.target); // null
dispatchEvent(eventOut); //1-й диспатч. клонирования нет, распространится этот объект как есть
trace(eventOut.target); // [object MainTimeline]
dispatchEvent(eventOut); // 2-ой диспатч. в слушатель уйдет клон этого событийного объекта
function handler(eventIn:Event):void {
trace(eventOut == eventIn); // 1-й раз - true, 2-ой раз false
}
Собственно, второй раз мы попытались задиспатчить событие с установленным target. Оно склонировалось.