If he came in on port and tacked to starboard in the zone he has no rights until clear of the zone. None.
This generalized statement is incorrect. There is no situation in a race where you have "no rights."
Rule 18.3 is the rule that comes into play when tacking inside the 3 length zone at the windward mark...
18.3 Tacking When Approaching a Mark
If two boats were approaching a mark on opposite tacks and one of
them changes tack, and as a result is subject to rule 13 in the zone
when the other is fetching the mark, rule 18.2 does not thereafter
apply. The boat that changed tack
(a) shall not cause the other boat to sail above close-hauled to
avoid her or prevent the other boat from passing the mark on
the required side, and
(b) shall give mark-room if the other boat becomes overlapped
Again, if you tack from port to starboard inside the 3 length zone, you DO have rights, but there are limitations on those rights. In essence, you can not force a boat that was already on starboard above close hauled and you must give that boat room to pass between you and the mark if they so choose.
If for example, you completed your tack inside the 3 boat length circle from port onto starboard and another boat was entering the zone on port, you would still have right of way over that boat.
As it turns out, this discussion is irrelevant in John's situation because his last post provided some clarification that this incident actually occurred at the leeward mark, not the windward mark.
So based on John's clarification, the room / 3-boat length rules go out the door because the boats had already rounded the leeward mark. It is a simple application of port/starboard. The tornado rounded the leeward mark on port, rounded up and went head-do wind (on port). John came across on starboard and the Tornado on port drifted back into him - tornado fouled H18. The Tornado then drifted back into the leeward mark and broke Rule 31 - foul #2.