Drove the car to the dealer.
Road assistance gave you no choice. At least you did your homework.
So, the thing about the codes is - they very probably don't matter and will eventually clear, as mentioned above. Those are very likely historical codes of your different systems shutting down as your battery was going low and/or when the car's electrical system came back to life with a low battery.
Most modern Euro cars will have prioritized circuit management - when electrical power is not enough, they will shut down systems deemed less important. So you'll get say your hazard blinkers and stop lights powered to the very last, but your radio and your other peripherals will be shut down. The car will warn about this, even if you start it with a fresh battery. Then will eventually clear them.
Resetting and coding the battery are two other, mostly BMW-specific things, that might or might have not crawled to other cars nowadays. Resetting is telling the car's computer that a new battery has been installed. Coding is telling the car how many Ah the battery is, if that has changed from one battery to the other. The charging system will charge the battery following specific algorithms that will account for Ah and battery age, so these will matter for the battery's longevity.
Now, the reason we advised to get the car towed to the dealership was to have them own the whole chain of events, and get responsibility for it, not because it will hurt your car or battery to drive and charge it. It's usually better, as it takes away responsibility from you. Good luck.