Yes, Joe would only get points 1 time in your scenario.
In general you want demographic scoring campaigns to have the qualification rule "run through flow only once" and behavioral scoring campaigns set as "run through flow every time". This assumes you have global scoring rules: you have one scoring campaign that covers EVERY webinar for example.
For demographic scoring, you only want to score leads once on their attributes because a CEO can't be a double CEO (except for this guy.) To set the campaign run multiple times would result in inaccurate and inflated lead scores.
For behavioral scoring, you want a lead to be scored everytime the lead takes an action. For example, as you mentioned, if a lead signs up for 5 webinars you want to score all 5 registrations since the lead is clearly expressing interest in your product/company 5 unique times. Similarly, if a lead downloads 5 whitepapers from your website, you'd want to award points for all 5 downloads.
If the scoring rule for webinars is global, meaning it covers every webinar, then you should score them "every time" or at least "once per day".
The best way to validate your scores is to look at high scoring leads your Sales team rejects to see if there is anything that was scored too many times. You can always make refinements to your scoring model, and you should do this regularly.