When using XMLPoke on nAnt I used extra amp; when String already contains &
For example
<xmlpoke file="Menu.xml" xpath="//Item[Name[text()='ams']]//ArgumentExpression" value="https://www.myserver.com/Home.aspx?TID={session}&cid={cid}&Username={username}&uiculture={uiculture}" />
I used following extra & as shown below and XMLPoke worked.
<xmlpoke file="Menu.xml" xpath="//Item[Name[text()='ams']]//ArgumentExpression" value="https://www.myserver.com/Home.aspx?TID={session}&amp;cid={cid}&amp;Username={username}&amp;uiculture={uiculture}" />