Текущий вариант. Немного коряво. Кучу рас дописывал/переписывал.

Код AS3:
//поступающие типы: объект, мовиклип, строка
public function createMc(obj:*,contMc:*,col:*) {
var startArr = sProp.start.split(',');
//отрисовываем фон и вставляем
var bmd = new BitmapData(obj.ldr.content.width, obj.ldr.content.height, true, 0x00ffffff);
var bm = new Bitmap(bmd);
bm.bitmapData.draw(obj.ldr.content);
contMc.addChild(bm);
//создаем клип с цветом и маской
var mc = new MovieClip();
contMc.addChild(mc);
//создаем маску
var maskMc = new MovieClip();
var bmdM = new BitmapData(obj.ldr.content.width, obj.ldr.content.height, true, 0x00ffffff);
var bmM = new Bitmap(bmdM);
bmM.bitmapData.draw(obj.ldr.content);
maskMc.addChild(bmM);
mc.addChild(maskMc);
maskMc.cacheAsBitmap = true;
//создаем цвет
var colorMc = new MovieClip();
bmd = new BitmapData(obj.ldr.content.width, obj.ldr.content.height, false, col);
bm = new Bitmap(bmd);
colorMc.addChild(bm);
mc.addChildAt(colorMc,0);
colorMc.cacheAsBitmap = true;
colorMc.mask = maskMc;
mc.blendMode = BlendMode.MULTIPLY;
//если есть перекрытие то ставим
if (obj.ldrO!=undefined) {
bmd = new BitmapData(obj.ldrO.content.width, obj.ldrO.content.height, true, 0x00ffffff);
bm = new Bitmap(bmd);
bm.bitmapData.draw(obj.ldrO.content);
contMc.addChild(bm);
}
}