ODBC has been around for a long time. The system is stable and vendor drivers have been updated and bug fixed over many versions. ODBC is a self contained API that can be installed and used on both UNIX and Windows.
ADO is new than ODBC and arguably better designed (esp. in terms of programming interface). Being newer, the ADO drivers have been through fewer bug fix and update cycles. ADO also requires that the COM layer is instantiated. This has something of an ovehead and adds considerably to the total number of things that can go wrong with CGI apps etc. ADO is targeted at Windows.
Not mentioned in the question but a crucial consideration for Perl developers is the DBD/DBI platform. drivers are available for ODBC and ADO data sources. Most drivers use the native database APIs.