What rule are you citing here? I was on port tack, (apparently) and he came up on the leeward side, so it sounds like he did everything you're telling me, but I've heard from others that He's not allowed to not let me finish... Thanks
If you were both on the same tack and he came from clear astern and then established an overlap to leeward, then as the windward boat, you must keep clear (Rule 11). HOWEVER, since he established the overlap to leeward from clear astern, he is only allowed to sail as high as his proper course (Rule 17), which in this case would be the layline to the finish line (committee boat). He is not allowed to take you higher than that.
If you were both on the same tack and he was clear ahead and then you tried to pass him on his windward side, you must keep clear and he is allowed to take you as high as head-to-wind.
Once you both reach the three boatlength circle (around the committe boat or pin end of the finish line), Rule 18 kicks in. If you have an inside overlap, he must give you room.
There is no rule that specifically says "one boat must allow another boat to finish" but the rules put certain limitations on how boats can alter their course in the vicinity of other boats. What I gather from your description, he tried to pass you to leeward and then take you up above the committe boat and prevent you from finishing. He can't do that. He can take you up to the layline of the committee boat (his proper course) but then when you get to the 3 boat length circle, he would have to give you room to finish as long as you have an overlap.
Rule 17.2 (On the Same Tack; Proper Course) has been deleted.
This means that a windward boat or a boat clear ahead no longer has a proper course limitation when sailing near other boats. She can sail below her proper course if she wishes, for instance to make it more difficult for a boat astern to pass or establish an inside overlap nearing a mark. Windward boats must still keep clear of leeward boats under rule 11 (On the Same Tack, Overlapped).