I just noticed that groff wouldn't hyphenate "fragment" into "frag-ment" in Times-Italic. (In Times-Roman this works.) Turns out this has to do with there being two kernpairs, "ra" and "ag" -- if I remove either one from the font definition file the word gets hyphenated correctly.
Before I try to wade through the code myself, I wanted to ask on this list whether any of you have a guess as to why a double kernpair would prevent groff from seeing the breakpoint...? PS: Happy New Year to you all!