Il codice corretto è questo di seguito.
Se si usa il modale non è necessario un Form1.Show(), ed inoltre per chiudere e distruggere il Form2 serve un Dispose()
Public Class Form1
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
Form2.ShowDialog(Me)
End Sub
End Class
Public Class Form2
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Me.Dispose()
End Sub
End Class
Inoltre su frmMain non devi mettere la proprietà "IsMdiContainer = true"
e devi togliere frmPiano.MdiParent = Me