Uma dll escrita em VB.Net pode ser usada no Visual Basic 6.

Para isso configure o projeto conforme os passos a seguir.

Crie um projeto do tipo class library chamado ExemploDLL no Visual Studio 2005 e como linguagem escolha o VB.Net. No menu lateral Solution Explorer dê um duplo clique em My Project.

Na tela que se abre, acesse a aba lateral Compile e cheque a opção Register for COM Interop.

Abra o arquivo Class1.vb e crie um método, como abaixo:

Public Class ClasseNet
  Public Function MeuNome() As String
  Return "AGNALDO"
  End Function
End Class

No menu Build clique na opção Build Solution, para criar o assembly (a dll).

Agora, crie um projeto do tipo Standard EXE no Visual Studio 6 e posicione um Button no formulário.

No menu Project escolha a opção References. Escolha e marque na lista a DLL desejada.

Dê um clique duplo sobre o Button e escreva o seguinte código:

Private Sub Command1_Click()
  Dim o As New ExemploDLL.ClasseNet
  MsgBox (o.MeuNome())
End Sub

Note que o Intellisense não funciona. Apesar disso, podemos executar o aplicativo pressionando [F5].

Para habilitar o recurso no VB6 devemos alterar a DLL no Visual Studio. Uma interface pública deve ser criada, para expor os métodos.

No Visual Studio 2005, altere o código de Class1.vb para:

Imports System.Runtime.InteropServices
Public Interface IClasseNet
  Function MeuNome() As String
End Interface

 _
Public Class ClasseNet
  Implements IClasseNet

   Public Function MeuNome() As String Implements IClasseNet.MeuNome
  Return "AGNALDO"
   End Function
End Class

OBS.: Crie uma interface no mesmo arquivo para facilitar. Se você quiser, pode separar a interface e a classe.

Volte ao VB6 e veja que o Intellisense começou a funcionar.