Действительно.
Почему бы тогда не проверить так?

Код AS3:
if (m && m.bytesAvailable > 0) {
trace(m.bytesAvailable + " первый заход");
microphone = Microphone.getMicrophone(m.readInt());
trace(m.bytesAvailable + " второй заход");
mic.selectedIndex = m.readInt();
}