OK dengan proses eliminasi akhirnya saya menemukan masalahnya. Tidak yakin mengapa ini terjadi tetapi pasti ada bug di driver MySQL ODBC.
Bidang bilangan bulat yang memiliki atribut UNSIGNED menyebabkan kesalahan. Menghapus atribut ini menyebabkan nilai bidang dikembalikan sebagai tipe Integer standar. Rupanya driver ODBC tidak menangani konversi dari unsigned int ke vbscript tipe Integer dengan benar, dan malah mengembalikan pointer ke Long.
Saya juga melihat masalah ini pada bidang tinyint(1) yang saya gunakan sebagai nilai boolean. Mengubah tipe data dari tinyint(1) menjadi int(11) [default] juga menghilangkan kesalahan ini.
Semoga ini akan membantu orang lain. FYI Saya juga memposting masalah ini di forum MySQL ODBC Driver tetapi tidak ada yang mau menanggapi.