Well basicly it isn't possible to create a normal Win32 DLL in Visual Basic that you can use directly in mIRC. What CAN be done is creating an ActiveX DLL and use mIRC's /comopen etc. functions to gain access to the COM object you create in VB.
uhm, oops - check my other post in the Feature suggestions sections "How to use other langauges in mIRC (In Theory)." You can create and register COM objects using the windows scriptiong host, therefor in any language...
It is possible to create a standard dll in visual basic. The VB compiler uses an older version of the c compiler. It basicly converts the VB to C and then compiles it (someone correct me if I'm wrong).
To write a dll you just need to tell the compiler to export this function. There is a program valled VBAdvanced or something simillar which allows you to export functions, create resource dll's and other neat stuff VB doesn't allow you access to.
With the tool you can write DLL's which self register themselves. And when you add in Matt Curlands amazing work you can get access to the VBRuntime. (A very nice example is included which I would use).
I don't have the link handy sorry if I find it again i'll post it for yea.