Looks like you are getting sketch points that are for SolidWorks internal use only.
The difference between this method and the now obsolete method ISketch::GetSketchPoints is that this method does not return sketch points intended for internal SolidWorks use only.
but I tested your code and it is indeed listing the internal sketch points. have you tried getting the sketch points from the line segments?
Thanks you Sean for your reply, yes I later realised that it is giving internal sketch points too which it isw not supposed to give. I got the sketchpoints through line segments, which gave me the correct number.