Visio 2010 has a new feature that allows you to insert and delete shapes in a diagram, automatically handling split and heal operations for connectors along the way.
For a detailed overview of this new functionality see this blog post by the product team:
Inserting and Deleting Shapes in Visio 2010
I want to point out that you can update your shapes to participate in this new behavior with a few simple changes in the Shape’s ShapeSheet.
ShapeSheet Requirements
To get this to work for your shapes you have to make sure that the three participating objects are all configured properly, ie. the Page, the Shape that triggers the split, and the Connector that will split or heal.
Page
Open the PageSheet for the Page and set the PageShapeSplit cell in the Page Layout section to visPLOSplitAllow or 1.
PageShapeSplit = 1
This cell controls the connector splitting behavior for all shapes on the page. If this cell is set to 0 then the split behavior will be disabled for all shapes on the page.
FYI - This cell can also be set from the Layout and Routing tab on the Page Setup dialog for the page:
Connector
Open the ShapeSheet for the Connector and set the ShapeSplittable cell in the Shape Layout section to visSLOSplittableAllow or 1.
ShapeSplit = 0
ShapeSplittable = 1
These are set from the Behavior tab on the Shape Behavior dialog which is accessible from the Developer tab on the Ribbon.
Notice the UI disables the ‘Shape can split connectors’ option as this is a 1-D shape and meant to be the connector shape.
You also need to set the ObjType cell (in the Miscellaneous section) to visLOFlagsRoutable or 2. If this is not set to routable then other shapes will not move to make room for the shape that is inserted.
FYI - This cell is only accessible via the ShapeSheet.
Shape that cause the connector to split
The shape that will trigger the splitting also needs to have its ShapeSplit cell (in the Shape Layout section) set to visSLOSplitAllow or 1.
ShapeSplit = 1
ShapeSplittable = 0
This can also be set from the Behavior tab on the Shape Behavior dialog: