Apologies for such a delayed response. As far as I know, 'canny_old' does not have any relation to the openCV implementation. I would encourage you to avoid using canny_old, as it probably exists only for backward compatibility reasons.
openCV does not use a derivative of gaussian for gradient computations, whereas the MATLAB version does so. Additionally, the use of bwselect in the sub-function 'thinAndThreshold' makes the MATLAB results better looking than the openCV equivalent.
See this post for additional details: https://dsp.stackexchange.com/questions/4716/differences-between-opencv-canny-and-matlab-canny
Are you trying to get the same results that MATLAB provides, using openCV? Could you elaborate on how you are trying to do so?