Спасибо за совет. Сделал как вы сказали.
Вот что мне пришлось сделать чтобы перерисовать содержимое одного спрайта(driwing) в другой(desc) используя BitmapData размера картинки(которую нужно отрисовать) а не всего спрайта.

Код AS3:
var r:Rectangle = driwing.getBounds(driwing);
var newBD:BitmapData = new BitmapData(r.right - r.left, r.bottom - r.top, true, 0);
var m:Matrix = new Matrix();
m.translate(-r.left, -r.top);
newBD.draw(driwing, m);
m = new Matrix();
m.translate(r.left, r.top);
desc.graphics.beginBitmapFill(newBD,m);
desc.graphics.drawRect(r.left, r.top, newBD.width, newBD.height);
desc.graphics.endFill();
Вот мне и не понятно. зачем это не хотело работать пока я не сделал

Код AS3:
m = new Matrix();
m.translate(r.left, r.top);
Разве BitmapData хранить информацию о матрице. Если хранит то зачем?
Если не хранит почему не получается без матрицы нарисовать содержимое BitmapData?