I have never used sharpdevelop before, but I have used VB6 and VB2005 ...
In VB2005, you will be required to do lots of changing to your code for it to be 100% compatable, but VB2005 does have an import/convert tool ... it still needs lots of work though ...
To create a dll that can be loaded directly into AutoCAD you will need to use one of several different methods.
To create a dll with exposed methods and properties in VB, use the "ActiveX" project type and define your loaders as classes that you can reference and call via lisp and/or vba. I believe this is by far the easiest way for a VBA coder to start making distributable dlls.
Another way is to use VB.Net and create a .net dll that you would load in AutoCAD using netload. This however will require you learn .net as opposed to VB (of which VBA is a subset). This is probably the preferred method for most development done for AutoCAD 2006+, but since earlier versions didn't have the ability to load dlls directly, it limits the versions of AutoCAD you can deploy it on.
Yet another method is using C++ and ObjectARX to create dll files (named xxxxx.arx where xxxxx is a varying file name). This will require learning C++ and ObjectARX and probably has the steepest learning curve. I would recommend this only if you cannot do the things you need to do, with either .net or VB, simply because Autodesk changes the ARX libraries every couple of releases, meaning you would have to compile versions for each different version of AutoCAD where the Arx libraries changed.
If you are familiar with building classes in VB, then I would simply take the existing VBA projects, export them to frm/bas/cls files, then import them into a new VB project .. there will likely only be a few things you will need to change. Finally, create an "Application" class for your dll and in the initialize event, call your main form. To load this project in AutoCAD, make sure it is registered with Regsvr32, then you would simply need to use lisp to create the object or VBA to reference it and create it there.
Liek I said, there is no single way of managing the task, but it can be done with just a little effort.