どういった利用のされ方をしているか全く不明ですが、試しに最小コードを作ってみたところ、正しく動作しましたよ。(Ver.3264c 利用)。
参考にしてみてください。
Imports System.Runtime.InteropServices
Public Class Form1
<DllImport("C:\Program Files\ArchiverDll\UNLHA32\UNLHA32.dll")> _
Private Shared Function UnlhaW( _
ByVal hwnd As Integer, _
<MarshalAs(UnmanagedType.LPTStr)> ByVal szCmdLine As String, _
<MarshalAs(UnmanagedType.LPTStr)> ByVal szOutput As String, _
ByVal dwSize As Integer) As Integer
End Function
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim output = Space(4096)
Dim ret = UnlhaW(Me.Handle, "a c:\hogehoge.lzh c:\ hoge.txt", output, output.Length)
MsgBox(ret.ToString("X") + vbNewLine + output)
End Sub
End Class