I changed from using an XPathDocument to an XmlDocument like you said. I also used InnerXml instead of setValue. This code should change the value of the Goal element in the Absenteeism chart from 0.5 to 0.6. The myString variable is just to check when I run it through the debugger. Now when I run it through the debugger the myString variable does change from 0.5 to 0.6 indicating that it worked. The code itself runs fine. But when I open up the actual Xml file the value of Goal is 0.5. It doesn't seem to be saving the value. 
I tried document.save, but that gave me an error which said the file was in use by another process.
I apologize for not posting for a while, I've been trying to figure this out.
Code:
Dim chartName As String = "Absenteeism"
Dim elementName As String = "Goal"
Dim document As New Xml.XmlDocument
document.Load("C:\Documents and Settings\honeymoon\My Documents\2010_Config.xml")
Dim nav As Xml.XPath.XPathNavigator = document.CreateNavigator
Dim xpath As String = String.Format("//Chart[@ChartName='{0}']/{1}", chartName, elementName)
Dim myString As String
myString = document.SelectSingleNode(xpath).InnerXml
document.SelectSingleNode(xpath).InnerXml = "0.6"
myString = document.SelectSingleNode(xpath).InnerXml my XML
Code:
<?xml version="1.0"?>
<Excel>
<Foo>
<Chart ChartName = "Operational Availability">
<Location>2010_OperationalAvailability.xlsm</Location>
<Goal>0.8</Goal>
</Chart>
<Chart ChartName = "Absenteeism">
<Location>2010_Absenteeism.xlsm</Location>
<Goal>0.5</Goal>
</Chart>
<Chart ChartName = "Financials">
<Location>2010_Financials.xlsm</Location>
<Goal>0.15</Goal>
</Chart>
</Foo>
</Excel>
Bookmarks