I design all my win 32 API with Delphi, and use them from VB and C# no problem.
Just make sure that all is done thru StdCall
function Distance(Count: integer; X: Double; Y: Double): Double; stdcall; export;
From VB side, just make sure you use the right marshal attributes when needed
<DllImport("MyDelphi.dll", EntryPoint:="Distance", CallingConvention:=CallingConvention.StdCall)> Shared Function Distance(Count As Integer, x As Double, y As Double) As double End Function