The easy question is the Magical Beginnings. To me, that is a no brainer and what makes a direct purchase a lot more attractive. It's basically a rebate on the 2024 points that if you were to buy resale, you probably wouldn't even get those points in most cases because the owner used them already. And, because it's a rebate, there are no tax implications like a rental might have. I think of it more as a generous discount in exchange for giving up a fully loaded contract option and getting a "normally loaded" one. If you need to use the points earlier, you can always later borrow from next year.
When the PIT tower came out, they excluded it from MB and I ended up looking at resales just because of that (might even have found a decent delayed closing contract

) . Then they added MB in the next incentive round but jacked up the prices, so it was six in one, half a dozen in the other...
Whether you go for 150 or 300 at Riviera is up to you because you know your finances and needs best. I wouldn't want to overbuy direct if I don't need to, especially Riviera which sells for $100-ish on the resale market. But the difference between $29 vs $10 off per point is substantial, so if you need 300 points at Riviera, it's worth considering. The main consideration should probably be how many points you need and where you want to stay with them. I'd also consider how much "dry powder" I want to have left for subsequent resales - as you can see in my signature, this can be addictive! For what it's worth, I do regret not buying more VGF direct when they had the "fire sale" in 2023 but that price was basically buying direct at resale prices. PIT and RIV are far from that, especially RIV.
Regardless of that try split the purchase into smaller contracts because they usually sell for a higher price per point on the resale market (especially the 50 and 75 pointers). I believe you can also opt for MB on some contracts but not others - the rebates are given per contract, so if you buy 150 points for example, you can get MB just on 75 if you have 2x75 contracts.