Unfortunately there isn't any way to fix that. You can't prevent the decoration from the ArchiMate shape script from being drawn and DrawNativeShape means that you get all of the native drawing.
However there are two work arounds;
a) Avoid using DrawNativeShape and write the whole script that does the the shape including your mods.
b) Create you own custom MDG to do all the elements, diagrams and toolboxes
a) will be less work of course so here is my shapescript for an application component to get you started. At the time I needed to create a TIME bubble chart for applications to indicate whether we were going to Tolerate, Invest, Migrate or Eliminate applications so we needed to represent the Application as a circle. Of course now you can do the same thing in Sparx EA using custom draw style.
shape main
{
layouttype="border";
if(hasproperty("diagram.stereotype","BubbleChart"))
{
defsize(100,100);
ellipse(0,0,100,100);
addsubshape("padding","n");
addsubshape("bubblename","center");
}
else
{
defsize(90,70); //
rectangle(0,0,100,100);
addsubshape("padding","n");
if(hasproperty("rectanglenotation","0"))
{
addsubshape("port","w");
}
addsubshape("name","center");
}
shape bubblename
{
h_align="center";
println("#name#");
}
shape port
{
preferredwidth=20;
scalable=false;
rectangle(-10,-10,10,0);
rectangle(-10,10,10,20);
}
shape padding
{
preferredheight=15;
}
shape name
{
h_align="center";
print("#name#");
}
}
decoration component
{
orientation="ne";
if(hasproperty("diagram.stereotype", "BubbleChart"))
{
return;
}
if(hasproperty("rectanglenotation","0"))
{
return;
}
else
{
rectangle(0,0,60,100);
rectangle(-10,10,10,30);
rectangle(-10,50,10,70);
}
}
decoration composite
{
orientation="SE";
if(hasproperty("diagram.stereotype", "BubbleChart"))
{
return;
}
if(hasproperty("iscomposite","true"))
{
ellipse(0,40,40,60);
ellipse(60,40,100,60);
moveto(30,50);
lineto(70,50);
}
}