Dang, I knew and should have seen that. Got sidetracked trying to figure how to get a PRO_EDGE_START/PRO_EDGE_END types from an edge.
I guess I can visit the points, cast it to a model item and check it's type, OR do a simple uv eval of it's coordinates to see if the point is the start or the end vertex.
Thanks for the heads up about the double visitation for shared vertices.