Maybe something like

[pascal]
/ GLCube1 in the Player1 //
Player1.PointTo(Player2, YHmgVector);
GLCube1.CubeDepth := Player1.DistanceTo(Player2);

// You can use arccos or maybe there is built in function in GLScene
// to find out angle between players
angle := Player1.AngleTo(Player2);
// angle := DegToRad(angle); // if needed, just make sure it's radians

GLCube1.Position.X := Player1.Position.X+ GLCube1.CubeDepth * cos(angle);
GLCube1.Position.Z := Player1.Position.Z+ GLCube1.CubeDepth * sin(angle);[/pascal]

But actually this should make something good if i understand the idea in GLScene:
Maybe something like

[pascal]GLCube1.Position.X := Player1.Position.X;
GLCube1.Position.Z := Player1.Position.Z;
GLCube1.PointTo(Player2, YHmgVector);
GLCube1.CubeDepth := GLCube1.DistanceTo(Player2);[/pascal]