На мой взгляд, это вопрос личных предпочтений.
При использовании libmysql хорошим подходом было бы сначала написать набор универсальных функций-оболочек libmysqlclient (уровень A), выше этого - набор функций, которые реализуют функции базы данных, которые вы собираетесь использовать в своей программе (уровень B) и выше вашей действительной программы (уровень C).
Переключение с libmysql на ODBC требует только незначительных изменений в уровне B без изменения API уровня B. Следовательно, если вы намереваетесь использовать вашу программу только с MySQL, я бы посоветовал вам придерживаться libmysql, пока кто-нибудь не предоставит вам патч для ODBC.
С технической стороны вы должны найти компромисс между подключением к базе данных и переносимостью. Использование libmysql позволяет вашему коду компилироваться без изменений на различных платформах, таких как Unix, MacOS и Windows. Библиотеки ODBC обычно написаны либо для Windows, либо для Unix / MacOS.