The files posted at these links have the following revisions:
INPA - v.5.0
NCS Data - 1/14/10
EDIABAS - v.6.4.7
INPA is currently at v.5.04
EDIABAS is currently at v7.2.0
NCS Data updates frequently
These downloads contain versions quite higher than the v3.1. I have heard mentioned - which doesn't mean that 3.1 won't work for your particular car - depends of the year of the car.
For obvious reasons, it is best to use the latest version of the software available (especially the daten files). However, these versions will prolly work for most things (especially the 'aktiv' & 'nicht-aktiv' items) but may not for items that require actual V.O. upgrade
And yes, use E89 for the E90 chassis designations...
Another item of interest to note is that any 'coding' of seperate items might, or might not, be overwritten/set back to default values during a dealer software upgrade depending on which modules are updated during the process - meaning you will have to go back in and re-code those items. So it would be a good idea to write down how you got to the items you coded for your particular car for reference in the future & don't get rid of your cable after you have coded everything the first time thinking you will never need it again!
Any changes to the V.O. will be permanent and unchanged by dealer software upgrades