А, блин, косяк нашел - последний остается всегда последним.
Правильно вот так

Код:
var tempArr:Array = this.firstChild.childNodes.concat();
var piclength:Number = tempArr.length;
var randomNodes:Array = [];
for(var i = 0; i < piclength; i++)
{
var q:Number = Math.floor(Math.random()*(tempArr.length));
randomNodes.push(tempArr[q]);
tempArr.splice(q, 1);
}
trace(randomNodes)