I think DynamicHelp::_unset_help is missing a call to
"destroy $_top" (and "variable _top".
As the following code can show, the balloon with the
help message is not removed if Alt-d is used to destroy
the widget to which the help is bound. Just hover the
mouse over the Entry so that the balloon appears and
then hit Alt-d.
m.d.nauta@hetnet.nl
package require BWidget
Entry .e -helptext "This is helptext"
button .b -text "Destroy Entry" -underline 0 -command
{destroy .e}
pack .e .b
bind . <Alt-d> {destroy .e}
Logged In: YES
user_id=1381097
Error recreated using your test code. Correction applied
via your suggestion. Thanks.