I have rewritten the last part, it does seem to work now:
most_points(Most):- most_points(_, Most),!. %hides most_points\2, cuts duplicates
most_points(Old, New):- more_points(Current, Old), most_points(Current, New).
most_points(Old, New):- \+ more_points(_, Old), New = Old. %the line above...