I believe the engine map is different to account for differing viscocity at different temperatures
This is the elephant in the room.
In order for the uniair unit to operate correctly, it needs to know the viscosity of the oil. This can't be measured directly; it has to be deduced from the oil temperature, so there is an accurate temperature sensor in the oil circuit to measure this. The system is programmed to calculate an assumed oil viscosity based on this measured temperature. There are links to the system manufacturer's documentation in the various historic threads on the subject for anyone wishing to get a better understanding of how this works.
The programming has to be able to calculate the viscosity of the oil from this temperature; if you put in an oil which has a different viscosity/temperature curve, the calculated value will be wrong and the uniair module won't work correctly.
What no one has been able to say definitively is whether there are differences in the ECU programming depending on which oil the engine has been set up to use, but 0W30 oil has a different viscosity/temperature curve than 5W40; they're not interchangeable in this regard. In the absence of any better information, I'd suggest using only the specific grade of oil that's recommended for the particular year of manufacture of your car.
Swapping 5W40 and 0W30 in a twinair isn't just about emissions - if you use the wrong oil for the engine, it might not run properly. There have been a number of posts reporting rough running which has been fixed by changing to the specific oil recommended for that car.
The jury is still out on whether using the wrong oil can actually damage the uniair module. However, a garage replacement of the module won't leave you much change out of £2000, so perhaps better safe than sorry.
If you have a TA, it's probably false economy to just put in whatever you can buy the most cheaply.