Bodacious!
I am very very happy, I have been struggling for ages with a rather spurious error - "non-datatype error". It turns out that it's due to having the xsi:nil parameter within my schema definition. So to be sure that you are always able to set the value of your field use the following code (as provided by the most wonderful Scott Heim of Microsoft)

 

XPathNavigator XPN = dataSrc.CreateNavigator().SelectSingleNode(xpath, this.NamespaceManager);
if (XPN.MoveToAttribute("nil", "http://www.w3.org/2001/XMLSchema-instance"))
{
XPN.DeleteSelf();
}
XPN.SetValue(value);

 

Lovely