Warum sollte sie unbrauchbar sein?
Man kann halt nur mysql damit ansprechen,
ODBC hat durchaus ein sinnvolles Konzeot;
Mit dem entsprechenden ODBC-Treiber (ODBC für mysql, oder
ODBC für Ms-SQL...) richtet man eine Datenquelle in der
Systemsteuerung ein und gibt dem Ding einfach einen
Namen.
Dein Programm würde dann nicht mehr zu wissen brauchen,
ob die Daten aus mysql oder sonstwo herkommen, sondern
einfach über den vergebenen Namen darauf zugreifen.
Bei Bedarf kann man die Datenbank darunter austauschen, ohne
die Programme zu ändern.
Insofern wäre dein Programm portabel bzgl. des DB-Systems;
dafür nicht portabel bzgl. Betriebssystem.
Mit libmysql ist es auf mysql fixiert, dafür über die
Betriebssysteme hinweg portabel (und natürlich etwas
effizienter, weil die Zwischenschicht ODBC entfällt).