Sometimes,the value of property is changed,but do not go into effect at once,You can add code after set properties value.

Code example:

procedure TMainFrm.Button1Click(Sender: TObject); 
begin 
  (MyCAD1.GetSelectedShape as TMyRectangle).GradientStyle:=gsLinearV; 
  MyCAD1.GetSelectedShape.Pen.Color:=clRed; 
  MyCAD1.Repaint; 
end; ;