I have been using

\definetextbackground[underline]    [location=text,alternative=1,background=,frame=off]

for underlining in my documents and 

\startuseMPgraphic{mpos:par:columnset}
   \iftracepositions show_multi_pars \else draw_multi_pars \fi ;
   path p ; p := boundingbox currentpicture ;
  currentpicture := currentpicture shifted (0,-StrutDepth/2) ;
   setbounds currentpicture to p ;
\stopuseMPgraphic

to control the depth of the underlining.

Unfortunately, this underlining is still sometimes too far beneath the word underlined. I had thought the problem is the -StrutDepth/2. But even if I change it to an absolute value, the underlines to not appear at the same distance even when the word.

Try this test file:

\definetextbackground[underline]    [location=text,alternative=1,background=,frame=off]

\startuseMPgraphic{mpos:par:columnset} 
   \iftracepositions show_multi_pars \else draw_multi_pars \fi ;
   path p ; p := boundingbox currentpicture ;
  currentpicture := currentpicture shifted (0,-.50) ;
   setbounds currentpicture to p ;
\stopuseMPgraphic

\starttext

Donec \startunderline{gravida}\stopunderline{} posuere arcu. 
Donec \startunderline{gravida}\stopunderline{} posuere arcu. 
Donec \startunderline{gravida}\stopunderline{} posuere arcu. 
Donec \startunderline{gravida}\stopunderline{} posuere arcu.
Donec \startunderline{gravida}\stopunderline{} posuere arcu.
Donec \startunderline{gravida}\stopunderline{} posuere arcu.
Donec \startunderline{gravida}\stopunderline{} posuere arcu.
Donec \startunderline{gravida}\stopunderline{} posuere arcu.
Donec \startunderline{gravida}\stopunderline{} posuere arcu.
Donec \startunderline{gravida}\stopunderline{} posuere arcu.

\stoptext

What I need is underlining that occurs at a fixed/constant distance below the words underlined (allowing for descenders, of course, when they are present).

Any suggestions?

Alan