Pere,
una DLL hecha en .NET no puede ser usada desde una aplicación en xharbour (ó harbour) puesto que necesita del runtime de .NET y Microsoft tiene bloqueados que programas en C (Harbour es un programa en C) accedan a .NET, porque precisamente .NET quiere evitar eso, inseguridad en el código, y que solo se ejecute .NET
Como se puede saltar esa limitación ? Eso es lo que hace FiveNet
La idea es sencilla: Tu haces un pequeño programa en C# (todos los Windows actuales llevan incluido por defecto el compilador de C#. En el build de FiveNet se muestra como usarlo desde el MsDos) y ese programa tuyo SI usa la DLL en .NET. Luego ese programa tuyo en C# se convierte en un servidor COM y entonces SI puede ser usado desde Harbour
Finalmente, si necesitas pasar información de un evento de .NET a la aplicación en Harbour, tienes que hacer el camino contrario, gracias a que desde una aplicación en .NET si se puede acceder a una aplicación en C que será la que accede a Harbour puesto que una DLL y todo lo que la DLL use, usan la misma pila (stack) internamente.
La idea es simple, aunque parezca un tanto enrevesada, y lo importante es que funciona