このたった一行で未定義の例外が飛ぶ。ランタイムのバグ?
UPDATE4だしCSCRIPTでOLEの動作確認してるんで環境はOKのはず。

#include <vcl.h>
#include <sysvari.h>
#include <dbdaoint.h>

#pragma link "rtl.bpi"
#pragma link "vcl.bpi"

int main() {
Variant dao = Variant::CreateObject("DAO.DBEngine.36");
exit(0);
return 0;
}