Yes, I think all the E89's have IBS. But I can categorically tell you that as long as you change the battery for the same type (i.e AGM) and the same capacity then recoding is not critical.
Recoding is a bit of a misnomer really - resetting would be a better word. To be honest the primary motivation for this is money for the stealers...no doubt about it. As batteries age, their internal resistance rises slightly so ideally you need to increase the charging voltage slightly to get the same amount of current in. But mostly it's BS...on a massive scale.
Scaremongers out there will hence suggest that fitting a new battery to a car who's IBS thinks it still has the old one in will result in overcharging. In reality this is simply not true (and in any case it's very easy to measure the battery voltage before and after you fit the new battery with the engine running to check).
The IBS actively measures the following parameters:
- Voltage (6V to 16.5V)
Current (-200A to +200A)
Standby Current (0A to 10A)
Starting Current (0A to 1000A)
Temperature (-40C to 105C)
Battery age (time since installation)
In terms of recharge, what really matters are amps and hours - but the IBS monitors this. What damages a battery due to overcharging is primarily heat. But the IBS monitors this! This is a continuous live system.
Here's a good example: You take your original battery out of your car for a few hours to power some 12V items around your garage. Then you put it back in the car. The IBS now has a battery with a charge state which conflicts with it's data. Are you now saying that it must be recoded to work correctly? Of course not. It's all BS.
Same goes for a new battery that you are just about to fit. Is it 100% charged? 50% charged? Maybe it's been sat on a shelf for a year and is only 30% charged. The IBS doesn't know this - it has to work it out for itself through it's DYNAMIC measurements.
Fit a new battery of a similar type and capacity then just forget about it.