The consumer should be able to cancel an active reader via MySqlCommand.Cancel() or the CancellationToken passed to ExecuteReaderAsync etc.
This probably needs to be implemented via KILL QUERY which may require a separate connection. It may be helpful to implement connection pooling #2 first and keep a spare connection around to issue this command.