Inanzi tutto grazie dell'aiuto, ho modificato così:
codice:
LRESULT CALLBACK WindowProcedure (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{
    switch (message)                  /* handle the messages */
    {
        case WM_DESTROY:
            PostQuitMessage (0);       /* send a WM_QUIT to the message queue */
            break;
        case WM_COMMAND:
            switch(wParam)
            {
                case ID_ESCI:
                     PostQuitMessage (0);
                     break;
                case ID_ABOUT:
                     int ret = DialogBox(GetModuleHandle(NULL), MAKEINTRESOURCE(ID_DIALOG_ABOUT), hwnd, AboutDlgProc);
                     if(ret == -1)
                     {
                            DWORD error;
                            error = GetLastError();
                            char *err = (char*)malloc(sizeof(char)*100);
                            itoa(error,err,10);
                            MessageBox(NULL,err,"Errore",32);
                     }
                     break;
            }
             break;
        default:                      /* for messages that we don't deal with */
            return DefWindowProc (hwnd, message, wParam, lParam);
    }

    return 0;
}
Il numero di errore è 1814 e cercando su msdn mi dice che è un errore SQL: Queries of this type are not supported (Error 1814)... credo ci sia qualcosa che non va...