Такое поведение объясняется тем, что при обращении к getter'у свойства Rect возращается новый экземпляр значимого типа System.Drawing.Rectangle, который никак не связан с классом MyClass.
Чтобы представить себе эту ситуацию, можно рассматривать этот объект как, например, простое целое число, скажем 6. Т.е. по сути компилятор видит строки:
MyClass myClass = new MyClass(); Все Ок
6 = 13; => Ошибка!!!
И незамедлительно сообщает об этом.
Чтобы обойти это, видимо, придется получать структуру из объекта myClass, изменять ее и снова сохранять в объекте:
MyClass myClass = new MyClass();
Rectangle rect = myClass.Rect;
rect.X = 13;
myClass.Rect = rect;