Can you try the code below?
bool bOK = x_y_curve.CopyData(vDataX, vDataY);
double dMin, dMax;
uint nIndexMin, nIndexMax;
vDataY.GetMinMax(dMin, dMax, &nIndexMin, &nIndexMax);
vector newX, newY;
vDataX.GetSubVector(newX, 0, nIndexMax);
vDataY.GetSubVector(newY, 0, nIndexMax);
Curve crv1(newX, newY);
double halfx = xaty50(crv1);