When you call the Intersect method, you must specify the type of intersection you want it to return. The intersection of a polygon and a polyline will usually be a polyline so you should be passing in esriGeometry1Dimension as the 2nd parameter to the Intersect method.
The intersection of a polygon and a polyline can be either a polyline (esriGeometry1Dimension) or a multipoint (esriGeometry0Dimension). depending on which one you pass in as the parameter. In uvg's case, I think should be multipoint. Can you provide the code and data so we can see why the output are the end points of the polyline?