Código:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click
TabPage1.Parent = Nothing
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button2.Click
TabPage1.Parent = TabControl1
End Sub
El problema es que luego te vuelve a colococar el tab el primero por la izquierda. Si es importante el orden de las pestañas quizas deberias guardar todos los tab pages en un array y volver a darles el .parent en el orden correspodiente.