Muy buenas gente!
Vereis, tengo un contenedor que relleno con tantos objetos MovieClip (iconos) como quiera, arrastrandolos dentro.
Los borro sin problema, y tambien consigo recolocar los objetos para que no queden huecos entre ellos. Pero tengo un problema con el primer elemento.
Resulta que lo borro, pero al borrarlo se me borra tambien el segundo, y no entiendo el motivo.
Os adjunto el codigo para ver si alguien me dice en que me he equivocado o por si me falta alguna cosa:

Código ActionScript :

public function eliminar(e:MouseEvent):void
      {
         var i:Number = 0;
         var j:Number;
         var ultElim:Number = 0; //elementos eliminados
         while (i < listaAcciones.listaInterna.numChildren)
         { // Miro todos los elementod de la lista 
            // IMPORTANTE: numChildren es un valor que se reduce cuando resto.
                                //                      Se comprueba en cada iteracion
            if (listaAcciones.listaInterna.getChildAt(i).seleccionado == true)
            {//Si un elemento esta seleccionado para eliminar
               ultElim++; //aumento elementos eliminados
               //elimino el elemento
               listaAcciones.listaInterna.removeChild(listaAcciones.listaInterna.getChildAt(i));
               //Ahora el elemento que estaba en i+1 pasa a ser el elemento i
               //por eso tengo que comprobar si esta seleccionado y eliminarlo
               //usamos un while porque puede haber mas de un elemento seleccionado
               while (listaAcciones.listaInterna.getChildAt(i).seleccionado == true)
               {
                  listaAcciones.listaInterna.removeChild(listaAcciones.listaInterna.getChildAt(i));
                  ultElim++;
               }
               //como se han borrado elementos se tiene que reducir el valor de i para
               //que no haya elementos que se queden sin comprobar ni mover
               //le resto los que he borrado menos 1 para no pasarnos del valor de la lista
               i -= ultElim-1; 
               if (ultElim == 1) //si ultElim solo fuese 1 no se le restaria nada y
               {              //no haria nada con el siguiente. De este modo si lo hara.
                  i--;
               }
               if (i < 0) //Para que i no sea un valor negativo que daria error.
               {
                  i = 0;
               }
               if (itemVectorAcciones > 0)// esto es para que cuando
               {                     //introduzcamos un nuevo btn
                  itemVectorAcciones--;   //el contador del vector sea correcto
               }
               //elimino elementos del vector de las acciones.
               listaAcciones.vectorAcciones.splice(i,1);
            }
            else
            { // Si no tengo que borrarlos tengo que moverlos.
               if (i > 0)
               {
                  j = i;
                  while (j < listaAcciones.listaInterna.numChildren)
                  {
                     listaAcciones.listaInterna.getChildAt(j).y -= (40 * ultElim);
                     j++;
                  }
                  ultElim = 0;
               }
            }
            i++;
         }
      }


Muchas gracias a todos. A ver si me podeis ayudar!!
XD