Hi David,
I looked the OCC Document, and found the following methods.
if you are using the first method, you have used a wrong type. if you are using the second method, you have missed a Edge. I hope this helps you, in addition, BRep_Tool::Parameter returns Standard_Real not gp_Pnt2d type. (From OCC 5.0 Document)
best
BRep_Tool::Parameter
Standard_Real Parameter (const TopoDS_Vertex& V,
const TopoDS_Edge& E);
Standard_Real Parameter (const TopoDS_Vertex& V,
const TopoDS_Edge& E,
const TopoDS_Face& F);
Standard_Real Parameter (const TopoDS_Vertex& V,
const TopoDS_Edge& E,
const Handle(Geom_Surface)& S,
const TopLoc_Location& L);