Looking at this a little deeper, Your code fragment is also not taking into account where the placeable is at. (assuming that the placeable is not at the (0,0) cord).
To adjust for the position of the PC in relation to the placeable, subtract the position of the Placeable to the from the position of the PC.
It should look something like this:
object oPC;
vector vFace = GetPosition(oPC)-GetPosition(OBJECT_SELF);
SetFacing( vFace);
If the object is still facing the wrong direction, your placable is facing 180 deg to the arrow drawn in the toolset. It that case just reverse the order of the PC and the placable in the subtraction above.
Making it:
object oPC;
vector vFace = GetPosition(OBJECT_SELF)-GetPosition(oPC);
SetFacing( vFace);
Hope that helps.
L8
Edit: Changed SetFacingPoint to SetFacing, Code will now work correctly.
There was no problem with ReadHands original code since I misread the function.