BuenAS:
Lo he estado probando y funciona; lo que no me queda claro es si realmente copias lo que te interesa copiar. Olvida por un momento lo de codificar el BitmapData y añadelo al escenario:
Código ActionScript :
addChild(new Bitmap(imageOutput, PixelSnapping.AUTO, true));
Porque veo cosas que me despistan. Aplicas una matriz unitaria cuando dibujas sobre el BitmapData y le aplicas una transformación de color a blanco, con lo que no vas a modificar el tamaño, posición de lo copiado, y lo vas a teñir de blanco TODO:
canvasBitmap.draw(canvas, m, canvasColorTransform, null, rect);
si lo que quieres es copiar canvas en este bitmap, bastaría hacer:
canvasBitmap.draw(canva);
Más abajo, hacer otra nueva copia con un recorte, en el BitmapData "imageOutput".
Resumiendo, sería interesante, como decía, que añadas el BitmapData al escenario, y te asegures que estás dibujando primero, y recortando y copiando píxeles después, exactamente lo que te interesa. Porque el problema que comentabas, del fondo blanco al copiar, ese sí funciona perfectamente en ambas copias (draw, y copyPixels).
Un saludo.