Hola,
Primero de todo, supongo que te refieres al error: "El operador '=' no está definido para los tipos 'System.Drawing.Image' y 'System.Drawing.Image'"
En VB6, este hacia muchas cosas 'por defecto' de forma que el programador no se había de preocupar de muchos detalles, pero en .NET hay cosas que el programador se ha de trabajar más. En este caso, el problema esta en que el .NET no sabe como considerar que dos imágenes son "iguales", por ese motivo el operador = no esta definido para este tipo se objeto y se deja al programador decidir como considerar si dos imágenes son iguales.
En principio, generalmente se consideran que dos objetos son iguales si "apuntan" a la misma referencia de objeto de memoria. Por ejemplo, si haces
Dim a As Object
Dim b As Object
Dim c As Object = New Object()
a = c
b = c
En este caso VB.NET considera que los objetos a y b son iguales ya que referencian al mismo objeto (en la memoria solo hay un objeto con 3 variables "apuntando" a el). Creo, pero no estoy seguro, que en VB6 el comportamiento del = comparando objetos era el mismo. Si es esto lo que buscas, en vez de comparar las dos imágenes con un =, se ha de hacer así:
If PictureBox2.Image.Equals(PictureBox1.Image) Then
En el caso que realmente lo que quieres hacer es comparar que los contenidos de las imágenes son el mismo, entonces, el proceso seria extraer las imágenes a objetos bitmap (o memory stream) y ir comparando pixel por pixel (o byte por byte para un stream) de cada una de las imágenes.