1. Фрагмент с if и присовением false флагу нужно ставить и в начале mapScaleOut. Кроме того, if должен быть до установки значения флага, а не после
2. у Tween, в отличие от gTween, событие окончания называется TweenEvent.MOTION_FINISH
3. Когда вы присваиваете переменный новый экземпляр твина, тогда и надо подписываться на момент окончания, т е строчки с подписью на окончание надо поставить внутри функций mapScaleIn/Out после создания твинов
4. По окончании твинов они должны вызывать функцию:

Код AS3:
function unlockTween(event:TweenEvent):void{
zoomAvailable = true;
}