Ok ho provato e per i dati semplici funziona...

Purtroppo ho dovuto rendere piu' complessa la classe iniziale e mi ritrovo il problema

Esempio della Nuova Classe
codice:
    Class myInternClass
        Public myIntegerValue As Integer
        Public myFloatValue As Double
        Public myStringValue As String
    End Class

    Public Class TestData1
        Implements ICloneable
        Public myInt As Integer
        Public myString As String
        Public myFloat As Double
        Public myArray() As myInternClass
        Public Function Clone() As Object Implements ICloneable.Clone
            Return (Me.MemberwiseClone)
        End Function
    End Class

codice:
        Dim Dato1 As New TestData
        Dim Dato2 As New TestData

        Dato1.myInt = 1
        Dato1.myString = "Test 1"
        Dato1.myFloat = 0.0
        ReDim Dato1.myArray(5)
        For Index As Integer = 0 To 5
            Dato1.myArray(Index) = New myInternClass
            Dato1.myArray(Index).myFloatValue = Index * 2.3
            Dato1.myArray(Index).myIntegerValue = Index
            Dato1.myArray(Index).myStringValue = Index.ToString
        Next

        Dato2 = Dato1.Clone

        Dato2.myInt = 2
        Dato2.myString = "Test 2"
        Dato2.myFloat = 2.2
        For Index As Integer = 0 To 5
            Dato2.myArray(Index).myFloatValue = 2.4
            Dato2.myArray(Index).myIntegerValue = 2
            Dato2.myArray(Index).myStringValue = "prova"
        Next
Per i dati myInt myString myFloat riesce a clonarmeli ma l'array no ...