First, it looks like you are always selecting the first item from your repeating group. I'm going to guess that AbsenceReportingGroup is the node your repeating table is bound to. Your XPaths all look wrong -- I'd expect to see the 'my' namespace throughout.... Try this -- note, I changed the XPaths.
Dim root As XPathNavigator = MainDataSource.CreateNavigator()
Dim rows As XPathNodeIterator = root.Select("/my:myFieldsReporting/my:AbsenceReportingSection/my:AbsenceSection/my:AbsenceReportingGroup", NamespaceManager)
'clone a method node
Dim batch As XPathNavigator = DataSources("EventCAML").CreateNavigator().SelectSingleNode("/Batch", NamespaceManager)
Dim method As XPathNavigator = batch.SelectSingleNode("Method").Clone()
'delete all the existing method nodes
Dim first As XPathNavigator = batch.SelectSingleNode("Method[1]", NamespaceManager)
Dim last As XPathNavigator = batch.SelectSingleNode("Method[last()]", NamespaceManager)
batch.MoveTo(first)
batch.DeleteRange(last)
'go through each row, clone our cloned node, set values and append
Dim row As XPathNavigator
For Each row In rows
Dim tempMethod As XPathNavigator = method.Clone()
Dim title As String = row.SelectSingleNode("my:title", NamespaceManager).Value
Dim location As String = row.SelectSingleNode("my:location", NamespaceManager).Value
Dim startDate As String = row.SelectSingleNode("my:startDate", NamespaceManager).Value
Dim startTime As String = row.SelectSingleNode("mmy:startTime", NamespaceManager).Value
Dim endDate As String = row.SelectSingleNode("my:endDate", NamespaceManager).Value
Dim endTime As String = row.SelectSingleNode("my:endTime", NamespaceManager).Value
tempMethod.SelectSingleNode("Field[@Name='Title']", NamespaceManager).SetValue(title)
tempMethod.SelectSingleNode("Field[@Name='Location']", NamespaceManager).SetValue(location)
tempMethod.SelectSingleNode("Field[@Name='EventDate']", NamespaceManager).SetValue(String.Format("{0}T{1}Z", startDate, startTime))
tempMethod.SelectSingleNode("Field[@Name='EndDate']", NamespaceManager).SetValue(String.Format("{0}T{1}Z", endDate, endTime))
batch.AppendChild(tempMethod)
Next
DataConnections("Web Service Submit").Execute()
Another thing worth noting is I haven't tested this. It compiles, but may have an issue or two that need to be ironed out.
Basically, I'm getting the rows from the repeating group. Then I create a clone of the 'method' node from the 'batch' xml. After that, I remove any existing method nodes in the batch file, so that I'm starting fresh. Then I'm getting values from a row, populating fields in the method node and appending the node to the batch. Finally, after all that is done, execute your web service connection to submit all at once.