>>размер отнял от main и все равно заходят
трудно понять твою логику: заходят за границы, надо понимать, приаттаченные мувики, а отнимаешь ты размер только нарисованных..

Код:
var dx:Number=main._width;
var dy:Number=main._height;
for (var i:Number = 0; i<10; i++) {
zone = box(main, 20, 20, Math.random()*0xffffff, 100);
zone.attachMovie(linkages[i], "logo_"+i, zone.getNextHighestDepth());
var zoneBounds=zone.getBounds(zone);
zone._x = -zoneBounds.xMin+random(dx-zone._width);
zone._y = -zoneBounds.yMin+random(dy-zone._height);
/*
*getBounds нужен, если содержимое приаттаченного мувик не спозиционировано в (0,0)
*если его содержимое прижато к TL-углу, zoneBounds не нужен: xMin, xMax будут равны 0
*/
}