Sounds to me like you've got a 3 different tournaments happening: the first tournament, the "winners" tournament and the "losers" tournament. I think you can set things up like this:
For the first tournament, set the "Points for buy-in" to 1. That gives everyone a point simply for playing.
Give players at the "winners" tournament a "Points for playing" formula like so:
max((5 - r) + 1, 1) + if(r == 1, 1, 0)
This gives 1 point for everyone who made the "winners" table, plus 1 point for 4th, 2 points for 3rd, 3 points for 2nd, and 4 points for 1st. This totals 6, like you described (including the first tournament). However, you mentioned that any player that "completely run the whole table" gets an extra point. I take this to mean whoever lasts longer than everyone else, which would mean whoever wins. That's where the "+ if(r == 1, 1, 0)" comes in, and it awards an extra point for the top finisher. If that isn't what you meant, just remove that part of the formula.
Give players at at the "losers" tournament a "Points for playing" formula like so:
if(r == 1, 1, 0)
This just accounts for the "running of the table". Again, if that isn't what you meant, don't give players at this table a formula at all. If "completely run the whole table" means something that the software doesn't "recognize" or won't know if it happens, then if it does happen, you can just go to that player on the Players tab and edit his or her points manually.
This means you'll have 3 separate tournaments for each night, which may or may not be what you really see it as, but that's the way the software will see it. When you run stats, you should get the correct points. If you consider the whole night as one tournament, you're averages and such will be off since the software will see each night as 3 tournaments, but that's the trade off...