You need to close the connection after getting the output value.
Try this. I think this will help you.
Dim cmd1 As SqlCommand = New SqlCommand("ReAlto", Con)
cmd1.CommandType = CommandType.StoredProcedure
cmd1.Parameters.Add("@MM", SqlDbType.VarChar, 50, ParameterDirection.Input).Value = "'" & MM & "'"
cmd1.Parameters.Add("@YY", SqlDbType.VarChar, 50, ParameterDirection.Input).Value = "'" & YY & "'"
cmd1.Parameters.Add("@amt", SqlDbType.Int)
cmd1.Parameters("@amt").Direction = ParameterDirection.Output)
Con.Open()
cmd1.ExecuteNonQuery()
Label38.Text = cmd1.Parameters("@amt").Value.ToString()
Con.Close()