...and your 100% sure your xpath is correct. It's probably that there is a namespace defined. All you need to do is define the namespace under the xmlpoke element and prefix your element names with the namespace prefix. Check it:
web.config:
<configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0"> <appSettings> <add key="SomeSetting" value="" /> </appSettings></configuration>
NAnt:
<project name="YadaYadaYada" default="default"> <target name="default"> <xmlpoke file="D:\Temp\web.config" xpath="/ns:configuration/ns:appSettings/ns:add[@key='SomeSetting']/@value" value="SomeValue"> <namespaces> <namespace prefix="ns" uri="http://schemas.microsoft.com/.NetConfiguration/v2.0" /> </namespaces> </xmlpoke> </target></project>