Both the C/C++ API and ODBC natively use the SQLA/IQ cmdseq protocol.
I think it depends on your coding preference and style and any overhead of the ODBC Dirver Manager vs. using the API directly.
Either way your code might dictate how fast results are returned e.g. multi-row fetches and buffering.
In ODBC's favour, the driver manager usually takes care of loading the shared libraries/DLLs and, you can adjust some of the connection properties in the DSN definition, which might make tuning and perhaps some of the coding easier.
Chris