The only way I could get the design time binding to work was to use the ODBC driver. the .Net driver simply would not work. You have to install the MySQL ODBC driver, restart visual studio, then add connection string to web.config.
In Web.Config:
<connectionStrings>
<add name="ConnectionStringODBC" connectionString="Driver={MySQL ODBC 5.3 ANSI Driver};server=localhost;database=myproviewer;uid=myproviewer;password=mypassword" providerName="System.Data.Odbc" />
</connectionStrings>
In ASPX:
<dx:ASPxGridView ID="gridTagGroups" runat="server" DataMember="DefaultView" Theme="Office2010Blue" Width="95%" Font-Size="8pt" AutoGenerateColumns="False" DataSourceID="SqlDataSourceTagGroup">
<Settings ShowHeaderFilterButton="true" ShowFilterRow="true" ShowFilterRowMenu="true" ShowGroupPanel="true" />
<SettingsPager PageSize="20" Position="TopAndBottom" AlwaysShowPager="True">
<PageSizeItemSettings Caption="Items Per Page:" Items="10, 15, 20, 25, 50" Visible="True" Position="Right">
</PageSizeItemSettings>
</SettingsPager>
<SettingsDataSecurity AllowDelete="False" AllowEdit="False" AllowInsert="False" />
<Columns>
<dx:GridViewDataTextColumn FieldName="TagCatId" VisibleIndex="0">
<EditFormSettings Visible="False" />
</dx:GridViewDataTextColumn>
<dx:GridViewDataTextColumn FieldName="TagCatName" VisibleIndex="1">
</dx:GridViewDataTextColumn>
<dx:GridViewDataTextColumn FieldName="OrderIndex" VisibleIndex="2">
</dx:GridViewDataTextColumn>
<dx:GridViewDataTextColumn FieldName="HiddenFromSearch" VisibleIndex="3">
</dx:GridViewDataTextColumn>
<dx:GridViewDataTextColumn FieldName="MediaType" VisibleIndex="4">
</dx:GridViewDataTextColumn>
</Columns>
<SettingsBehavior AllowFocusedRow="True" AllowSelectSingleRowOnly="True" />
</dx:ASPxGridView>
<asp:SqlDataSource ID="SqlDataSourceTagGroup" runat="server" ConnectionString="<%$ ConnectionStrings:ConnectionStringODBC %>" ProviderName="<%$ ConnectionStrings:ConnectionStringODBC.ProviderName %>"
SelectCommand="SELECT * FROM tagcat ORDER BY OrderIndex"
DeleteCommand="DELETE FROM tagcat WHERE TagCatId = ?"
InsertCommand="INSERT INTO tagcat (TagCatId, TagCatName, OrderIndex, HiddenFromSearch, MediaType) VALUES (?, ?, ?, ?, ?)"
UpdateCommand="UPDATE tagcat SET TagCatName = ?, OrderIndex = ?, HiddenFromSearch = ?, MediaType = ? WHERE TagCatId = ?">
<DeleteParameters>
<asp:Parameter Name="TagCatId" Type="Int32" />
</DeleteParameters>
<InsertParameters>
<asp:Parameter Name="TagCatId" Type="Int32" />
<asp:Parameter Name="TagCatName" Type="String" />
<asp:Parameter Name="OrderIndex" Type="Int32" />
<asp:Parameter Name="HiddenFromSearch" Type="Object" />
<asp:Parameter Name="MediaType" Type="String" />
</InsertParameters>
<UpdateParameters>
<asp:Parameter Name="TagCatName" Type="String" />
<asp:Parameter Name="OrderIndex" Type="Int32" />
<asp:Parameter Name="HiddenFromSearch" Type="Object" />
<asp:Parameter Name="MediaType" Type="String" />
<asp:Parameter Name="TagCatId" Type="Int32" />
</UpdateParameters>
</asp:SqlDataSource>