It's close but it needs a little more error checking
Code:
Sub addShape()
On Error Resume Next
If ActiveWindow.Selection.ShapeRange(1).HasSmartArt Then
If Err <> 0 Then
MsgBox "Select smart art"
Err.Clear
Exit Sub
End If
'so far so good
Debug.Print ActiveWindow.Selection.ChildShapeRange.Count
If Err <> 0 Then
MsgBox "No nodes selected"
Err.Clear
Exit Sub
End If
If ActiveWindow.Selection.ChildShapeRange.Count = 1 Then
CommandBars.ExecuteMso ("SmartArtAddShapeAfter")
'One node selected
Else
MsgBox "Select ONE node"
End If
End If 'not Smart art
End Sub