Hey Kim,
here is a variant of the face Rivet script which allows you tu constraint a locator on a vertex.
there is no orient contraint on it but you get the point.
Actually it constraint to an edge but you just have to tell him at which end of the edge you want to constraint using $cvPos.
(if you are on maya 2011 or 2012 you can use Point on Poly constraint)
//name of the base mesh
string $baseMesh = "pCube1";
//index of an edge containing the vertex you want to use to contraint
int $cvIndex = 6;
//position of the locator on the edge between 0 an 1
int $cvPos = 0;
//
string $ConstObj[] = spaceLocator -n "loc\_pointRivet";
createNode curveFromMeshEdge -n "pointConst_CFME";
setAttr pointConst_CFME.ei[0] $cvIndex;
connectAttr ($baseMesh + ".w") pointConst_CFME.im;
createNode pointOnCurveInfo -n "pointConst_POCI";
connectAttr pointConst_CFME.oc pointConst_POCI.ic;
connectAttr pointConst_POCI.p ($ConstObj[0] + ".translate");
setAttr "pointConst_POCI.turnOnPercentage" 1;
setAttr "pointConst_POCI.parameter" $cvPos;