In case this may be of use to others :
This is what I have done to use the Nero API from a C# .NET application :
- write a mixed-mode C++ DLL . Mixed-mode means that the DLL contains both managed (i.e. uses .NET) and unmanaged code. An unmanaged class talks directly to the Nero API. Write a managed class which just wraps around the unmanaged class. Your C# application will interface with the managed C++ class.
The main stumbling block I found was that there are some "gotchas" with using mixed mode C++ .NET DLLs with the current versions of Visual Studio .NET.
They are described here :