The reason the label "disappears" may be due to the use of an absolute label location X and Y values after the Picturebox is made the parent.
Try this:
PictureBox1.SendToBack()
'Make labels transparent and set locations
With Label3
.Text = "A"
'.Location = New Point(62, 39)
.Location = New Point(.Location.X - PictureBox1.Location.X, .Location.Y - PictureBox1.Location.Y)
.ForeColor = Color.DimGray
.BackColor = Color.Transparent
.Parent = PictureBox1
.BringToFront()
End With`
This may work if called only once upon initial Form Load, but if called a second time, the location calculation may give unpredictable results.