Причиной того, что событие создается только при изменениях индекса, проверьте список базы setselectedindex;
Исправление до изменения selectedindex на 0 состоит в том, чтобы сначала изменить его на -1, а затем на 0.
/**
* @private
* Used internally to specify whether the selectedIndex changed programmatically or due to
* user interaction.
*
* @param dispatchChangeEvent if true, the component will dispatch a "change" event if the
* value has changed. Otherwise, it will dispatch a "valueCommit" event.
*/
mx_internal function setSelectedIndex(value:int, dispatchChangeEvent:Boolean = false):void
{
if (value == selectedIndex)
return;
if (dispatchChangeEvent)
dispatchChangeAfterSelection = dispatchChangeEvent;
_proposedSelectedIndex = value;
invalidateProperties();
}