Place new Cube()
call into your click handler, this way it'll create a new cube properly.
function spawnCube(event:MouseEvent):void
{
var p1:Cube=new Cube(); // this
p1.x = mouseX;
p1.y = mouseY;
arr.push(p1);
addChild(p1); // also this, because now "p1" has a new cube each time
i++;
}