Чтобы еще раз все перепроверить, сделал отдельный проект где содержится только то, что нужно для теста.
Вот исходная картинка, как она выглядит в редакторе (фактически, редактировался только альфа-канал, цвет же везде белый 0xffffff):
Шейдер максимально простой (только XYZ и UV)

Код AS3:
var vertexShaderAssembler:AGALMiniAssembler = new AGALMiniAssembler();
vertexShaderAssembler.assemble ( Context3DProgramType.VERTEX,
"m44 op, va0, vc0\n" +
"mov v0, va0\n" + // XYZ -> v0
"mov v1, va1\n" // UV -> v1
);
var fragmentShaderAssembler:AGALMiniAssembler = new AGALMiniAssembler();
fragmentShaderAssembler.assemble ( Context3DProgramType.FRAGMENT,
"tex ft0, v1, fs0 <2d,repeat,nomip,linear>\n" +
"mov oc, ft0\n"
);
m_pShaderProgram = m_pContext3D.createProgram();
m_pShaderProgram.upload(vertexShaderAssembler.agalcode, fragmentShaderAssembler.agalcode);
Создание текстуры (mipmapping'а нет):

Код AS3:
m_pTexture = m_pContext3D.createTexture(m_pBitmap.width, m_pBitmap.height,
Context3DTextureFormat.BGRA, false);
m_pTexture.uploadFromBitmapData(m_pBitmap.bitmapData, 0);
Вывожу два квада. Слева без блендинга:

Код AS3:
setBlendFactors(Context3DBlendFactor.ONE, Context3DBlendFactor.ZERO)
Справа с обычным блендингом:

Код AS3:
setBlendFactors(Context3DBlendFactor.SOURCE_ALPHA, Context3DBlendFactor.ONE_MINUS_SOURCE_ALPHA)
Внизу просто addChaild'ом добавил копию загруженной битмапы, чтобы проверить, что она загрузилась правильно (собственно, при выводе с блендингом должна быть именно такая картинка).
Вот что получилось в результате:
Либо я чего-то не понимаю, либо да, произвол. Слов нет кроме матерных.
Могу выложить весь проект (сделан в FlashDevelop'е)