OK, nothing there to help or hinder me then.
I also assume by looking at the code that ...
A> The entities 'ent_gameHand[xx]' are the ones that need to face the screen.
B> The vector "pos" is no longer needed after the "vec_set(ent_gameHand[i].x, pos);"
So, as untested code, give this a try...
//Replace your existing lines ...
...
ent_gameHand[i].pan = camera.pan - 90;
ent_gameHand[i].roll = camera.tilt + 90;
...
//With the following code ...
...
//set 'pos' to x,y screen co-ords of entity position (z unused)
vec_set(pos, ent_gameHand[i].x);
vec_to_screen(pos, camera);
//set 'pos' to XYZ co-ords of screen-plane over entity
pos.z = 0;
vec_for_screen(pos, camera);
//make entity "face" the XYZ co-ords of screen over entity
vec_diff(pos, pos, ent_gameHand[i].x);
vec_to_angle(ent_gameHand[i].pan, pos);
...
This code isnt 'optimised' at all, in order for you to see the logic...
This code IS optimised but still untested...
...
vec_to_screen(vec_set(pos,ent_gameHand[i].x),camera);
pos.z = 0; vec_for_screen(pos,camera);
vec_to_angle(ent_gameHand[i].pan,vec_diff(0,pos,ent_gameHand[i].x));
...