This is a problem I am anxious to solve.
Run this program:

\starttext
\newbox\testbox
\hbox{%
% centered
\setbox\testbox=\vbox{\vskip5mm\framed[frame=on,align=disable,width=1cm,height=2cm,offset=0pt,location=depth,top=\vss,bottom=\vss]{lp}\vskip5mm}
\the\ht\testbox \box\testbox
% bottom
\setbox\testbox=\vbox{\vskip5mm\framed[frame=on,align=disable,width=1cm,height=2cm,offset=0pt,location=depth,top=\vss,bottom=\empty]{lp}\vskip5mm} % note leaveout bottom=, not good
\the\ht\testbox \box\testbox
% top
\setbox\testbox=\vbox{\vskip5mm\framed[frame=on,align=disable,width=1cm,height=2cm,offset=0pt,location=depth,top=\empty,bottom=\vss]{lp}\vskip5mm} % note leaveout top=, not good
\the\ht\testbox \box\testbox
}
\stoptext

Now the middle box comes out higher than the other two, like this:
               ------------
------------   |          |   ------------
|          |   |          |   |lp        |
|          |   |          |   |          |
|          |   |          |   |          |
|lp        |   |          |   |          |
|          |   |          |   |          |
|          |   |          |   |          |
|          |   |lp        |   |          |
------------   ------------   ------------
The \ht's will tell the difference, the \dp's are 0 here.
Using \vtop gives analogous results, then the depth of middle box is greater.

Probing with [depth=0pt] makes no difference.
Setting [strut=yes/no] makes some difference but is not the cause of the difference.
Setting [align=no/line] makes no difference.
Omitting [align=..] or using [align=normal] makes all boxes the same height but puts every contents in the middle, which is not what I want: one at the top, one in the middle and one at the bottom.

How can I get the required result with all three the same height?

Hans van der Meer