My r1200rt 2005 is exempt as it meets emissions criteria. You have to email Bmw homologation department ( eccoc@bmw.co.uk) and ask regarding your emissions data which they will send after a few weeks. In order to get an exemption from tfl you have to order a certificate of conformity from bmw (£120 fee).
My E46 330Ci is Euro 4 compliant and confirmed as ULEZ compliant by TfL via the online check tool. As it's the same M54 engine as all other E46 330s I can't see why yours would be any different.
If you have a petrol engined car, it needs to meet Euro 4 emissions standards to be ULEZ compliant. Euro 4 was introduced on every car built from 2005 onwards. The rules are much tougher on diesel models, as they need to meet Euro 6 emissions standards to be exempt from ULEZ charges. Euro 6 covers all diesel cars built after 2015.
The BMW BluePerformance measures, for example, reduce the emission of nitrogen oxides in diesel engines. With the introduction of the new 6-cylinder engine generation for the diesel as from 2020, the storage catalytic converter located close to the engine is replaced by an even more efficient SCR system, also close to the engine.