Правильно написано. Не может не помогать.

Код:
import flash.filters.BitmapFilter;
import flash.filters.ColorMatrixFilter;
var mc:MovieClip = this.attachMovie("mc", "mc", 1, {_x:Stage.width/2, _y:Stage.height/2});
mc.cacheAsBitmap = true;
var matrix:Array = new Array();
matrix = matrix.concat([1, 0, 0, 0, 0]);
matrix = matrix.concat([0, 1, 0, 0, 0]);
matrix = matrix.concat([0, 0, 1, 0, 0]);
matrix = matrix.concat([0, 0, 0, 0.5, 0]);
var filter:BitmapFilter = new ColorMatrixFilter(matrix);
mc.filters = new Array(filter);
upd.
Сорри - не доглядел. Если для битмапы, то так:

Код:
var myBitmapData:BitmapData = new BitmapData(100, 100, true, 0xFFAA0000);
var mc:MovieClip = this.createEmptyMovieClip("mc", 1);
mc.attachBitmap(myBitmapData, 0);
var matrix:Array = new Array();
matrix = matrix.concat([1, 0, 0, 0, 0]);
matrix = matrix.concat([0, 1, 0, 0, 0]);
matrix = matrix.concat([0, 0, 1, 0, 0]);
matrix = matrix.concat([0, 0, 0, 0.5, 0]);
var filter:BitmapFilter = new ColorMatrixFilter(matrix);
myBitmapData.applyFilter(myBitmapData, myBitmapData.rectangle, new flash.geom.Point(0, 0), filter);
Нужно при создании битмапы указать прозрачность == true. И если картинка берется из библиотеки, она должна быть 24 битной - т.е. с альфа каналом (.PNG например).