AS2 stuff will not work under the AS3 Virtual Machine without a lot of effort.
I've just encountered this problem: two years on and it's still not fixed.
If anyone's interested, what seems to be happening is that the combo's dropdown remains enabled after the user has made their selection. As the dropdown retracts, some of the subsequent menu items sweep under the mouse position and cause itemRollOver events to be fired. This changes the selectedIndex to the wrong value.
On this basis I have developed the following workaround:
var comboOpen:Boolean = false;
var currentIndex:Number = 0;
var indexSelected:Number = 0
theCombo.dropdown.onMouseDown = dropdownMouseDown;
// Record the item that was under the mouse
// when the user clicked
indexSelected = currentIndex;
comboOpen = true;
comboOpen = false;
currentIndex = e.index;
theCombo.selectedIndex = indexSelected;
// The combo now has the selection the user intended
I hope this may be of use to someone.