The same happens with Height, Top and Left properties and not only with a grid but with other controls and Forms. This bug still exists in VFP8beta.
As workaround, you can add new property 'nWidth' to your grid class and compare it with 'Width' property value in Grid.Width_Assign.
>I'm using VFP 7.0
>
>I created a Grid.Width_Assign method.
>It's being executed whenever the Grid.Width is checked (Accessed). I then created a Grid.Width_Access method hoping it would stop triggering the width_assign(), but it didn't work. Every time Grid.Width_Access is executed Grid.Width_Assign is executed from with it.
>
>Is there any way to stop the Grid.Width_Assign from being executed from within the Grid.Width_Access?
>
>TIA
--sb--