Попробовал ваш код в скомпилированном виде на разных компах. На двух машинах с WinXP код выдает ошибку (вероятно там просто не установлен драйвер) а вот на ещё одном с Win7 соединение прошло успешно. Причем я особой разницы между моим компом и этим в администраторе источников данных ODBC не нашел. Вот единственное видимое отличие. Может это как то мешать?
картинка