Потому что напрямую так с массивом не работают.
Ничего никуда не изменяется:

Код:
import flash.display.BitmapData;
import flash.display.Bitmap;
import flash.utils.ByteArray;
var bmp:BitmapData = new BitmapData(2,2,true,0);
var ba:ByteArray = new ByteArray();
ba.writeUnsignedInt(0xFFFFFFFF);
ba.writeUnsignedInt(0xFFFF0000);
ba.writeUnsignedInt(0xFF00FF00);
ba.writeUnsignedInt(0xFF0000FF);
ba.position = 0;
bmp.setPixels(bmp.rect, ba); // write
ba = bmp.getPixels(bmp.rect); // read
ba.position = 0;
while(ba.bytesAvailable) {
trace('pixel color:','0x'+ba.readUnsignedInt().toString(16).toUpperCase());
}
addChild(new Bitmap(bmp));