Это PARADOX
CoInitialize(NULL);
        _ConnectionPtr pConn("ADODB.Connection");
        try
        {
                pConn.CreateInstance(__uuidof(Connection));
                pConn->CursorLocation = adUseClient;
                pConn->Open(""Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\\Lisega;Extended Properties=Paradox 5.x";" , "", "",0);
                _RecordsetPtr pRst;
                pRst.CreateInstance(__uuidof(Recordset));
                pRst->Open("SELECT  SHRIFT_1 FROM PRJINF81.DB", _variant_t((IDispatch*)pConn, true), adOpenDynamic, adLockReadOnly, adCmdUnknown);
 
                int nNumFields = pRst->Fields->Count;
                while(!pRst->ADOEOF)
                {
                        for(short index=0; index<nNumFields; index++)
                        {
                                _bstr_t strName = pRst->Fields->Item[(_variant_t)index]->Name;
                                _bstr_t strValue = pRst->Fields->Item[(_variant_t)index]->Value;
                                cout << strName << " " << strValue << " " << pRst->Fields->Item[(_variant_t)index]->Type << endl;
                        }
                        pRst->MoveNext();
                }
                pRst->Close();
                pRst->Close();
                cout<<"cLOSE"<<endl;
        }
        catch(_com_error e)
        {
                cout << e.ErrorMessage() << endl;
        }
        if(pConn != NULL)
                pConn->Close();
        pConn->Close();
        CoUninitialize();
        return 1;
Если Не открывать рекордсет, то получается ошибка  в файле msado15.til
inline HRESULT Connection15::Close ( ) {
    HRESULT _hr = raw_Close();
    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
    return _hr; //вот здесь ошибка
}
В окне Output :
First-chance exception at 0x75b5b727 in Support_For_SP.exe: Microsoft C++ exception: _com_error at memory location 0x002bf6f4..
Unhandled exception at 0x75b5b727 in Support_For_SP.exe: Microsoft C++ exception: _com_error at memory location 0x002bf6f4..
Если добавить  код открытиу рекордсета то ловится исключение idispatch error #3127
Накидал вот такой код в VB6 и все работает как часы
Option Explicit
Dim rs As ADODB.Recordset
Dim Conn As ADODB.Connection
Dim ConnectionString As String
Private Sub Form_Load()
    Set Conn = CreateObject("ADODB.Connection")
    ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Lisega;Extended Properties=Paradox 5.x;"
    Conn.CursorLocation = adUseClient
    Conn.Open ConnectionString
    Dim i As Integer
    Set rs = Conn.Execute("SELECT SHRIFT_1 FROM  KONSTR8.DB")
    MsgBox rs.RecordCount
    rs.Close
    Conn.Close
End 
Как бы его в С++ перевести?)