I had crashing troubles with ADO, and switched back to ODBC. There is a generic implementation of DBD::ADO that calls ODBC, so that would have to be a subset and subject to the same limitations.
Comment on Re: What's the difference between DBD::ADO and DBD::ODBC