Wreszcie znalazłem!
Serializator .NET XML uciekał przed nieprawidłowym znakiem podczas jego serializacji, ale potem cofał go przed deserializacja.
Musiałem więc wyszukać uciekł , aby znaleźć nieuciekającego 0x0B ... naprawdę nie śmiesznych facetów!
Więc to:
SELECT * from Mytable where Column like '%' + '' + '%'
Znajdzie to:
<?xml version="1.0"?>
<Hashtable><key>313_other_10</key><value></value></Hashtable>
I chociaż wygląda to na prawidłowy kod XML, zgłosi wyjątek dotyczący nieprawidłowego znaku, gdy :
XmlSerializer xs = new XmlSerializer(Type.GetType(Hashtable));
StringReader stringReader = new StringReader(xml);
obj = xs.Deserialize(stringReader);
Wielkie podziękowania dla ludzi, którzy wskoczyli z pomocą! To była nieoceniona pomoc!