I think it's nice to have XPath queries but why the Descendants(string name) has to be removed ? it was a nice override and we were able to do simple queries like that :
var myNodes = (from node in doc.DocumentNode.Descendants("div")
from subnode in node.DescendantNodes()
where subnode.Name == "embed"
XPath can be complex, can't we give the choice between two API ? In the example of the trunk I see only .NET 2.0 framework code ?