After a bit more research, I found this is a prevalent issue with the work-around below. Basically, avoid having any handles clauses from your base class.
Public Class CalculationPanelBase
Private Sub CalculationPanelBase_Load(sender As Object, e As EventArgs) Handles MyBase.Load
ParentForm.AcceptButton = CalculateMe
End Sub
Protected Friend Sub Calculate_Click(sender As Object, e As EventArgs) Handles CalculateMe.Click
Calculate(sender, e)
End Sub
Protected Friend Overridable Sub Calculate(sender As Object, e As EventArgs)
End Sub
Protected Friend Sub Reset_Click(sender As Object, e As EventArgs) Handles ResetMe.Click
Reset(sender, e)
End Sub
Protected Friend Overridable Sub Reset(sender As Object, e As EventArgs)
End Sub
Public Overloads WriteOnly Property Visible As Boolean
Set(value As Boolean)
MyBase.Visible = value
End Set
End Property
End Class