Hi, you can do it by using a namespace. Here is a not so elegant way of getting the value out:
DECLARE @xml XML = '<?xml version="1.0" encoding="utf-8"?>
<DataSet xmlns="http://tempuri.org/">
<xs:schema id="NewDataSet" xmlns="" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xs:element name="NewDataSet" msdata:IsDataSet="true" msdata:UseCurrentLocale="true">
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element name="Table">
<xs:complexType>
<xs:sequence>
<xs:element name="KeyID" type="xs:string" minOccurs="0" />
<xs:element name="LicenseAcquisitionUrl" type="xs:string" minOccurs="0" />
<xs:element name="CHECKSUM" type="xs:string" minOccurs="0" />
<xs:element name="ContentID" type="xs:string" minOccurs="0" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:choice>
</xs:complexType>
</xs:element>
</xs:schema>
<diffgr:diffgram xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" xmlns:diffgr="urn:schemas-microsoft-com:xml-diffgram-v1">
<NewDataSet xmlns="">
<Table diffgr:id="Table1" msdata:rowOrder="0">
<KeyID>ABA38156-D357-4C2A-933A-838604EE4F83</KeyID>
<LicenseAcquisitionUrl>http://ready.steady.com/preauth.aspx?pX=0DF3E4</LicenseAcquisitionUrl>
<CHECKSUM>0A38b6k3kiQ=</CHECKSUM>
<ContentID>zqFuE60mxIQEWEzYyxoMkw==</ContentID>
</Table>
</NewDataSet>
</diffgr:diffgram>
</DataSet>
'
;
WITH XMLNAMESPACES (DEFAULT 'http://tempuri.org/')
SELECT @xml.value('(//DataSet/*:diffgram/*:NewDataSet/*:Table/*:KeyID/text())[1]', 'UNIQUEIDENTIFIER')
, @xml.value('(//DataSet/*:diffgram/*:NewDataSet/*:Table/*:ContentID/text())[1]', 'VARCHAR(24)')