Функцию и длл писал другой человек. Но он оставил документацию и пример.
Параметры в функцию я передаю так же как и в примере.
только пример на паскале.
добавил FreeLibrary
void __fastcall TForm1::Button1Click(TObject *Sender)
{
   hD = LoadLibrary ("Bi30Usb.dll");
   hDll = LoadLibrary ("Bi30Func.dll");
   if (hDll)
   {
    ZahvatUstroistva = (func3) GetProcAddress (hDll, "ZahvatUstroistva");
   }
   else {
   Application ->MessageBoxA("îøèáêà", 0,0);
   }
    ZahvatUstroistva(0, &KodOshibki);
    if (KodOshibki != 0){
    Application-> MessageBoxA("êîä", 0, 0);
    }
     FreeLibrary (hD);
     FreeLibrary (hDll);
}
не помогло.
Добавлено через 7 минут и 11 секунд:А вот если я все это помещу в фунцию при создании формы 
то все нормально выполняется. 
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
  hD = LoadLibrary ("Bi30Usb.dll");
   hDll = LoadLibrary ("Bi30Func.dll");
   if (hDll)
   {
    ZahvatUstroistva = (func3) GetProcAddress (hDll, "ZahvatUstroistva");
   }
   else {
   Application ->MessageBoxA("îøèáêà", 0,0);
   }
    ZahvatUstroistva(0, &KodOshibki);
    if (KodOshibki != 0){
    Application-> MessageBoxA("êîä", 0, 0);
    }
     //FreeLibrary (hD);
     //FreeLibrary (hDll);
}
 Приложение запускается без ошибок.
я не понимаю почему.