¡Buenas solisarg! ¿Qué tal? Tu siempre salvando mis dudas, jeje. Muchas gracias por responderme. Bueno, ante todo muchas gracias por el esfuerzo y dedicación, pero no funciona, sigue pasando lo mismo que en mi código. La cosa es que en tu script se muestra sin las diversas tonalidad expuestas en t3:Array;, pero si se las exponemos, dichas tonalidades muestran como las superficies del cubo se superponen las unas a las otras haciendo de éste un cubo semitransparente cambiando simplemente el valor de n; igual a i;.
El problema que planteo se resuelve con un comando llamado setChildIndex();, sé como funciona y es sencillo, pero a la hora de exponerlo a moviemientos tridimensionales con elementos 3D no sé ni como meterlo, sin embargo, con elemento bidimensionales en un espacio 3D está tirado, funciona tal que el modo swapDepth(); de AS2, no igual, pues no intercambia relativamente un valor de profundidad, entonces, llego a la conclusión de que AS3 no usa realmente estructuras 3D, pues el eje Z es mera información para la emulación 3D, pero quien representa un fondo real es setChildIndex();.
Sé que hay ejemplos en internet que son una pasada, mostrando el resultado que quiero con un código sumamente sencillo, pero que sin embargo, no logro comprender, tales como el siguiente link:
http://www.kirupa.com/developer/actionscript/3dindex.htm
Pero la forma más sencilla de entenderlo y empezar a funcionar con la tercera dimensión de AS3 es la que expongo, creo yo. De todas maneras, muchas gracias por todo y en cuanto descubra el modo de hacerlo os lo expongo, y también iré siguiendo el hilo por nuevas hipótesis y pruebas

.
Por cierto, dejo el código que me enviaste corregido:
Código ActionScript :
package test
{
import flash.display.BlendMode;
import flash.display.MovieClip;
import flash.display.Sprite;
import flash.events.Event;
import flash.display.Graphics;
/**
* Lo que sabe todo el mundo: dibujar y rotar un octaedro
*/
public class Octaedro extends Sprite
{
private var e:Sprite;
public function Octaedro():void
{
if (stage) init();
else addEventListener(Event.ADDED_TO_STAGE, init);
}
//Crea el contenedor, inicia el dibujo, inicia la rotación
private function init():void {
e = new Sprite();
e.x=150;
e.y = 150;
addChild(e);
render(50,20,100,[[0,"0x000088"],[0,"0x000077"],[0,"0x000066"],[0,"0x000055"],[0,"0x000044"],[0,"0x000033"]]);
addEventListener(Event.ENTER_FRAME, rotate);
}
//dibuja las caras
private function render(t0:Number,t1:Number,t2:Number,t3:Array):void{
// c=[frontal,izquierda,derecha,arriba,abajo,atrás];
// c[x]=[[width,height],[x,y,z],[rotationX,rotationY,rotationZ]];
var c:Array = [[[t0, t1], [0, 0, 0], [0, 0, 0]], [[t2, t1], [t0, 0, t2], [0, 90, 0]], [[t2, t1], [0, 0, t2], [0, 90, 0]], [[t0, t2], [0, 0, 0], [90, 0, 0]], [[t0, t2], [0, t1, 0], [90, 0, 0]], [[t0, t1], [0, 0, t2], [0, 0, 0]]];
var n:Number;
var s:Array = []
for(var i:int=0;i<6;i++){
s.push(new MovieClip());
var m:MovieClip=s[i];
// Aquí es donde corregí, donde tu pusiste así originalmente:
// n = (t3.length == 1)?0:1;
n = i;
if(t3[n][0]==0){
m.graphics.beginFill(t3[n][1]);
};
m.graphics.drawRect(0,0,c[i][0][0],c[i][0][1]);
m.graphics.endFill();
m.x=c[i][1][0];
m.y=c[i][1][1];
m.z=c[i][1][2];
m.rotationX=c[i][2][0];
m.rotationY=c[i][2][1];
m.rotationZ=c[i][2][2];
m.blendMode=BlendMode.LAYER
e.addChild(m);
};
};
//rota el contenedor
private function rotate(evt:Event):void{
e.rotationY+=10;
};
}
}
Una vez más, muchas gracias por tu paciencia, ejemplos, aclaraciones, etc. Jeje. ¡Un saludo!
P.D.: Gracias a tu código también pude corregir un elemento importante que me faltaba en el mío, que era importar el elemento import flash.display.BlendMode;, jeje.