After being able to add a row, I realised I would need to be able to remove a row.
Here is some code to remove the last row, you could modify it to remove a selected row.
Dim parent As XPathNavigator = MainDataSource.CreateNavigator.SelectSingleNode("/my:myFields/my:group3", NamespaceManager)
Dim lastchild As XPathNavigator = parent.SelectSingleNode("child::*[position() = last()]", NamespaceManager)
Dim rownav As XPathNavigator = MainDataSource.CreateNavigator.SelectSingleNode("/my:myFields/my:group3/my:group4", NamespaceManager)
Dim parentchildcount As Integer = parent.SelectChildren(XPathNodeType.Element).Count
If parentchildcount > 1 Then
rownav.MoveTo(lastchild)
rownav.DeleteRange(lastchild)
End If