I'm using this code, which works perfectly against MySQL.
var schemaReader = new SchemaReader(myConnectionString, myProvider);
var dataset = schemaReader.Table(myTableName);
var dataTable = dataSet.Tables[0];
foreach (DataRow row in dataTable.Rows)
{
String columnName = row["COLUMN_NAME"].ToString();
String dataType = row["DATA_TYPE"].ToString();
..... other processing
}