I assume that you are referring the shape's PinX/Y cells when you say
location?
This behavior is a function of how the shape is defined. In particular, how
the LocPinX and LocPinY cells are defined. In mostVisio shapes the LocPinX/Y
cells are defined in terms of the shape's Height and Width. For example, the
rectangle in the Block Diagram stencil defines the LocPinX as 1/2 of the
Width. This means that resizing the shape causes the "pin" to move thus
causing the absolute location of the shape on the page to move as well. The
idea is to keep the pin at the center of the shape so that operations that
involve the pin, such as rotation, are intuitive
You could define the "pin" as being the lower left corner of the shape
(LocPinX = LocPinY = 0) and then resizing using any vertex that did not move
the lower left corner would not "move" the shape. However the shape would
now rotate arounf the lower left corner rather than the center.
Hope this helps.