So I've decided to go with Krown. After asking around, it seems that Krown is the best out there for this. Both in terms of the technicians (if I don't want drilling, they won't drill) and also in terms of their formulation.
And yes this is for the undercarriage. For the body, as long as the paint is intact, it will never rust.
I called some friends who work at dealerships and they recommend rust proofing the vehicle since I'm now in Ontario. There's not really a need in Alberta or BC but in Ontario and Quebec where they use a lot of salt on the roads, it's an issue (salt water can get into the gaps in the undercarriage and cause problems).
My friends said that one of those "one-time" rust proofing deals from dealerships are scams. Doing it just one time will not help. Maybe that's what BMW is referring to. Remember the BMW manual was not written to be region-specific.
Regardless, I am likely going to keep the car longer than 12 years (thinking of going the full Dinan route) so rust-proofing the undercarriage is important for me.
And yes, the car is almost 3 years old but I still have people saying it looks and feels like a new car. (my leather seats are still in perfect condition