.NET 2.0 なら、LoadLibrary / GetProcAddress から Marshal.GetDelegateForFunctionPointer を使えばデリゲートが手に入ります。
.NET 1.1 以前なら、.NET 上で関数ポインタを直接デリゲートに変換することはできないため、上記の処理をやらせるネイティブの DLL を作成し、それを DllImport する形になるでしょう(引数としてデリゲートを指定すれば、自動的に関数ポインタをマーシャリングしてくれます)。
[訂正]
.NET 1.1 以前の場合、C# からは関数ポインタに対して手の出しようがありませんでしたね。マーシャリングもしてくれません。
Managed C++ を使用してラッピングする必要があります。
[/訂正]
あんまり見たくない構成ですが。