Scusa ma devo ancora capire, al di la dei vari errori presenti, che significato abbia, nel contesto in cui mi hai presentato il codice, creare una Form con dei controlli all'interno di una classe creata poi con:

codice:
dim F as object
F = New NewForm(OneGroup.Name, OneGroup.ClientHandle, AnOPCItemIDs)
all'interno di cosa e dove ?? Sicuramente

codice:
dim F as object
potrebbe anche essere dichiarato a livello di Form ma perchè dichiararlo Object ??? quando sai che è di tipo NewForm ?

Quindi avrò prima di tutto:

codice:
Dim F As NewForm
poi la creazione dell'istanza della classe NewForm proprio li dove l'hai messa non ci sta, oltretutto non ti permetterebbe neanche di complilare.

Per cui avrò al limite:

codice:
Public Class Form1

    Dim F As NewForm

    Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        F = New NewForm(OneGroup.Name", OneGroup.ClientHandl, AnOPCItemIDs)
    End Sub
End Class
Secondo tra il tuo primo post e l'ultimo hai cambiato sia la versione di VB che il codice?

Se vuoi essere aiutato devi scrivere il codice corretto e non ridotto ai minimi termini.

Per tua domanda finale

Il problema è che se dichiaro la mia listbox all'interno della New poi non posso utilizzare nella UpdateValue() come posso fare?
Devo rendere pubblico l'oggetto?
mi sembra che tu abbia risolto parzialmente risolto, basta che sposti la dichiarazione delle ListBox a livello di classe e non a livello di Sub, in questo modo:

codice:
Public Class NewForm
    Dim listitem As ListBox
    Dim List As ListBox

    Public Sub New(ByVal Name As String, ByVal ID As Long, ByVal AnOPCItemIDs() As String)
        Try
            Dim NewForm As New Form()
            NewForm.Text = "Gruppo: " & Name
            NewForm.AutoSize = True
            NewForm.Show()

            listitem = New ListBox
            List = New ListBox

            List.Location = New System.Drawing.Point(0, 0)
            List.Height = 100 : List.Width = 300
            NewForm.Controls.Add(List)

            listitem.Location = New System.Drawing.Point(0, List.Height + 10)
            listitem.Height = 200 : listitem.Width = 300
            NewForm.Controls.Add(listitem)

            List.Items.Add("Gruppo: " & Name)
            List.Items.Add("ServerHeader: " & ID)
            For i = 1 To AnOPCItemIDs.Length - 1
                If AnOPCItemIDs(i) Is Nothing Then
                    Exit For
                Else
                    listitem.Items.Add(AnOPCItemIDs(i))
                End If
            Next
        Catch ex As Exception
            MessageBox.Show("Error: " + ex.Message + Chr(13) + ex.ToString, "Exception", MessageBoxButtons.OK)
        End Try
    End Sub

    Public Sub UpdateValue(ByVal ClientHandles As System.Array, ByVal ItemValues As System.Array) ', Byval optional qualities As System.Array, ByRef timestamp As System.Array)
        Try
            For cnItem = LBound(ClientHandles) To UBound(ClientHandles)
                listitem.Items.Add(ClientHandles(cnItem) & " " & ItemValues(cnItem))
            Next
        Catch ex As Exception
            MessageBox.Show("Error: " + ex.Message + Chr(13) + ex.ToString, "Exception", MessageBoxButtons.OK)
        End Try
    End Sub

End Class
In attesa di chiarimenti.
Un saluto.