...not to mention that MSSQL (or maybe its ODBC driver ?) doesn't seem to support multiple open requests on a single connection (a problem I recently encountered and had to workaround in DBIx::Chart).
I'll inject an obligatory plug for DBIx::Threaded here, but it likely (a) wouldn't work with Class::DBI and (b) would just serialize the query processing on the client side.