ExecuteXmlReader is used for returning the results of an SQL XML query - you are not performing an SQL XML query - you are mealy performing a normal SQL query which just happens to return a text value which you know is XML.
mySqlCommand.CommandText = "SELECT TOP 1 xml_doc from tbl1";
SqlDataReader reader = mySqlCommand.ExecuteReader();
if( reader.Read() )
XmlDocument doc = new XmlDocument();
If you want to use ExecuteXmlReader the look into the "FOR XML" TSQL statements as mentioned in the above KB article.
/- Sam Judson : Wrox Technical Editor -/