At least a contributing factor to the problem
appears to be confusion over the proper scope
of font names as a Tcl_ObjType.  Should a particular
meaning of a font name have control over just one
screen?  Or one interp?  Or one "application" ?

It appears that an intrep of a "font" value is
getting used in one Tk "application" when it was
set in (and stored in the fontCache of) another
Tk "application".  Later on attempting to tear down
twice what was only constructed once causes the abort.

Some advice from the designer(s) of the font system
would be useful.