Xpath is supported in VBScript in TestComplete. I use it almost exclusively to find elements in web pages that may be dynamic at runtime. And it prevents me from having to build a name mapping that is enormous. The methods in VBScript in TestComplet are a little different. You'll probably want to use the FindChildByXPath method. Do a quick search on 'xpath' in the TC help and you'll find more info, but here's what I would try. CAVEAT: I'm using this to find objects on webpages, not in pure XML files, so it might be slightly different.
You will want to make sure that your base object (xmlDoc) is correct because that can throw you off. I think the last '/' in your xpath1 may be throwing it off. Just try to locate the node without using the '@value'. Then once you have that node, then ask for the '@value'. Also, it's easy to forget, but you have to use 'Set [object variable name]' to assign the node object to an object variable in VBScript.
'set your xpath variable
xpath1 = ".//add[@key = 'LogsDirectory']"
'execute the FindChildByXPath method and assign the object to LogsDirectory
Set LogsDirectory = xmlDoc.FindChildByXPath(xpath1, False)
'now that you have the node object get the value of the 'value' attribute
sLogsDirectoryValue = LogsDirectory.GetAttribute("value", text)
Again, this may be a little different since I'm using it on a webpage and you're using it on pure XML, but hopefully it's close enough to get you what you need.
JC