I get this occasionally. Are there common causes for this error? It doens't seem to be tied to a specific command, but any number of queries that I have in the current application.
This error occurs when you have more than one data reader opened on single connection.
To prevent this error you have to avoid opening several data readers on same connection and explicitly close each data reader after use or use FetchAll mode in all your MySqlCommand objects.
I've described the reasons that can cause this problem. Connection pooling just as other features in MySQLDirect .NET is designed for work in multithreading environment equally well as in single-threaded environment, but it is you who has to care about data reading and writing synchronization.