ODBC はドライバーではありません。ドライバーのラッパーです。この質問に対する答えは、使用している基になる ODBC ドライバーによって異なります。これは通常、接続文字列で指定されます。
MSDN のドキュメントは実際には期待または提案にすぎませんが、ODBC インターフェイスはドライバーに特定の結果を返すよう強制することはできません。SQL Server の NO COUNT 設定 (影響を受ける行などを報告するドライバーの試みを無効にする) とは異なり、結果に干渉するいくつかの最適化または設定がドライバーに含まれている可能性があります。
ODBC の仕組みの詳細な説明については、ウィキペディアを参照してください:
http://en.wikipedia.org/wiki/ODBC
「さまざまなテクノロジにはさまざまな機能があるため、ほとんどの ODBC ドライバーは ODBC 標準で定義されているすべての機能を実装していません。標準で定義されていない追加機能を提供するドライバーもあります。」
使用しているドライバーを教えていただければ、解決策を見つけるのに役立つ場合があります。
編集
私の知る限り、問題の ODBC API 関数は SQLRowCount 関数であり、ここで定義されています:
http://msdn.microsoft.com/en-us/library/windows/desktop/ms711835(v=vs.85) .aspx
ODBC 標準に従って、ドライバーが ODBC 準拠と見なされるには、この関数を実装する必要があります。(それは、関数が期待される結果または正しい結果を返すと言っているのではなく、それがそこにあるということです)。
Transoft のドキュメント (67 ページ)によると、実装されている SQLRowCount 関数を掘り下げることができました。この機能が無効になっていることや、必要な構成については言及されていません。
以上のことから、直接メーカーに問い合わせてみます。それらの実装または文書化されていない「機能」にエラーがあるようです。