Look at the line that says
reversedCharArray = charArray. You did not make a copy of the array by executing this line. What you did was a second variable point to the same array instance as charArray. You now have two variables pointing to the exact same array instance, charArray and reversedCharArray. What you do using one variable will be reflected by the other.
As for the other question, you cannot compare two arrays like that. You're comparing the references of the arrays. What you're saying is "are these two addresses the same?" If you want to compare them without iterating over the contents of the arrays, element by element, you can convert the reversed array back to a string, then compare the strings.
Here's a little function to reverse a string:
Function ReverseString(target As String) As String
Dim chars() As Char = target.ToCharArray()
Array.Reverse(chars)
Return New String(chars)
End Function