2iNils:Для описания компонентов - решил выучить язык, создавая простенькие компоненты. Когда основные моменты прояснятся, буду учиться межклассовому взаимодействию - как передавать данные, как вызывать, как наследовать и т.п. + довольно удобно с точки зрения дальнейшего использования...
Переписал код. Проблема возникает в тот момент, когда для "замаскированного" клипа устанавливаю "cacheAsBitmap=true".

Код:
private function rect(mc:MovieClip,rx:Number,ry:Number,rcol:Number):Void { //Рисуем прямоугольник
mc.beginFill(rcol,60);
mc.lineTo(rx,0);
mc.lineTo(rx,ry);
mc.lineTo(0,ry);
mc.endFill();
}
private function drawmask(){
var maskee_mc:MovieClip;//"замаскированный" клип
var mask_mc:MovieClip;//маска
var holder_mc:MovieClip;//холдер маски
var top_mc:MovieClip;//нечто, лежащее поверх маски(текст, поля ввода и т.п.)
maskee_mc=this.createEmptyMovieClip("maskee", this.getNextHighestDepth());
rect(maskee_mc,400,400,0xFF0000);
holder_mc=this.createEmptyMovieClip("holder", this.getNextHighestDepth());
mask_mc=holder_mc.createEmptyMovieClip("mask", holder_mc.getNextHighestDepth());
rect(mask_mc,200,100,0);
top_mc=holder_mc.createEmptyMovieClip("top", holder_mc.getNextHighestDepth());
rect(top_mc,20,20,0x0000FF);
maskee_mc.cacheAsBitmap=true;//!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
maskee_mc.setMask(mask_mc);
mask_mc.onPress=function(){_parent.startDrag();}
mask_mc.onRelease=function(){_parent.stopDrag();}
}
---------------------------------
Смог решить проблему, но способ извращенный - при "cacheAsBitmap=true" flash не прорисовывает маску при смещении родительского клипа, но прорисовывает, когда мы обращаемся непосредственно к ней. Наверное, в данном случае, все-таки лучше самому создать аналог setMask, пусть даже это встанет в ресурсы.. Если, вдруг, кому понадобится, выкладываю рабочий вариант:

Код:
mask_mc.onPress=function(){
eval(_parent).startDrag();
rInterval=setInterval(Delegate.create(this ,function(){this._visible=true; }),1);
}
mask_mc.onRelease=function(){this.stopDrag(); clearInterval(rInterval);}