Где-то был на просторах фикс. Он основывался на том, что нативное событие прерывалось, и по факту, сама ориентация не менялась, а только отслеживалась
Добавлено через 8 минут
Да и предлагалось два метода отслеживания. Первый получать события и прерывать их, второе основывалось на гироскопе и отключенной автоориентацией.
Добавлено через 12 минут
Нашел в тестах кусочек кода

Код AS3:
stage.addEventListener(StageOrientationEvent.ORIENTATION_CHANGE,orientationChangeListener);
stage.addEventListener(StageOrientationEvent.ORIENTATION_CHANGING, orientationChangeListener);
protected function orientationChangeListener(event:StageOrientationEvent = null):void
{
//event.stopImmediatePropagation();
if (config.unset) {
event.preventDefault();
return;
}
while(numChildren) removeChildAt(0);
if (!event) event = new StageOrientationEvent(StageOrientation.DEFAULT);
switch(event.afterOrientation)
{ case StageOrientation.DEFAULT:
case StageOrientation.UNKNOWN:
case StageOrientation.UPSIDE_DOWN:
gui = new gui_pageHomeV();
/*gui.width = 800;
gui.height = 1024;
/*gui.width = stage.fullScreenWidth;
gui.height = stage.fullScreenHeight;*/
break;
default:
gui = new gui_pageHomeH();
/* gui.width =1024 ;
gui.height = 800;*/
break;
}
gui.width = stage.fullScreenHeight;
gui.height = stage.fullScreenWidth;
addChild( gui );
if(event)
addLog('type '+event.type+' before '+event.beforeOrientation+' after '+event.afterOrientation);
addLog('FW: '+FW+' FH: '+FH+" "+stage.width+"x"+stage.height);
}