Da bi Add reference radio u .NETu, mroa da postoji ili type metadata (za .NET DLLove) ili TypeLibrary (za COM). Standardni C++ DLL-ovi nemaju to, imaju samo spisak "nakicenih" EntryPoint-a (iz tog razloga koristis .h/.hpp fajlove da bi kompajler znao koji su formalni parametri).
Ne mozes wrapovati unmanaged C++ klasu u bilo kom "cistom" .NET jeziku ukljucujuci Borlandov C#
Postoje dva nacina da ubacis C/C++ DLL u .NET.
Prvi je sa Platform invoke ako pozivas samo funkcije iz DLL-a (sto kod tebe izgleda nije slucaj)
Drugi je da u C++.NET napravis managed "single-aggregation" wrapper koji ce imati instancu unamanged C++ klase i koji ce metod po metod preslikati unamanaged C++ klasu u .NET klasu. Iskreno, nisam nikad ovo pokusavao niti me privlaci kao potencijalno resenje. Ovo bih koristio ako i samo ako nemam sors za taj unmanaged C++ DLL, a koliko sam ja shvatio ti posedujes C++ sors code.
Ako hoces da zadrzis svoju C++ logiku, portuj kod sa BBuildera na C++.NET. Da, imaces dosta posla oko "ciscenja" koda i konformisanja CLI-u ali verovatno manje nego sa debagovanjem marshaling gresaka u gore pomenutoj agregaciji. Ovo resenje ce ti cak omoguciti da u .NET jeziku nasledis neke od tih klasa i nastavis tamo gde si stao...
Naravno, postoji resenje i sa COM-om, gde ces u Borland C++-u SVAKU klasu iz projekta publikovati kao COM objekat, ali to je nocna mora a i zahteva da se svi ti objekti instaliraju na klijent masine, a i pride svi metodi koji ne koriste COM-compatibile tipove moraju da se rekodiraju i sve to na kraju ispadne mnogo gadno

Sloba je za 12 godina promenio antropološki kod srpskog naroda. On je od jednog
naroda koji je bio veseo, pomalo površan, od jednog naroda koji je bio znatiželjan, koji
je voleo da vidi, da putuje, da upozna,
od naroda koji je bio kosmopolitski napravio narod koji je namršten, mrzovoljan,
sumnjicav, zaplašen, narod koji se stalno nešto žali, kome je stalno neko kriv - Z.Đinđić