Млин, специально сейчас проверил.
Ваш код в первом посте работает как надо:

Код AS3:
package {
import flash.display.Bitmap;
import flash.display.BitmapData;
import flash.display.Graphics;
import flash.display.Shape;
import flash.display.Sprite;
import flash.display.StageQuality;
import flash.events.Event;
import flash.geom.Matrix;
import flash.geom.Rectangle;
public class Main extends Sprite {
public function Main() {
super();
addEventListener(Event.ADDED_TO_STAGE, init);
}
private function init(e:Event):void {
removeEventListener(Event.ADDED_TO_STAGE, init)
var veryDifficultShape:Shape = new Shape();
var gr:Graphics = veryDifficultShape.graphics;
gr.lineStyle(1, 0xFF0000);
gr.drawCircle(0, 0, 50);
addChild(veryDifficultShape);
veryDifficultShape.x = 100;
veryDifficultShape.y = 100;
// рисуем с хорошим качеством
stage.quality = StageQuality.HIGH;
var b:Rectangle = veryDifficultShape.getBounds(null);
var bmd:BitmapData = new BitmapData(Math.ceil(b.width), Math.ceil(b.height), true, 0);
bmd.draw(veryDifficultShape, new Matrix(1, 0, 0, 1, -b.x, -b.y));
var bm:Bitmap = new Bitmap(bmd);
bm.x = 300;
bm.y = 100;
addChild(bm);
stage.quality = StageQuality.LOW;
}
}
}