The annoying part is, that it all looks as if it's working (as far as I can tell)...
9/02/2014 10:03:16.962: DIA --> TEL : Read coding data, Data="01" [ ]
09/02/2014 10:03:17.024: C8 07 3F A0 01 00 00 01 50
09/02/2014 10:03:17.024: TEL --> DIA : Diagnostic command acknowledged, Data="01 00 00 01" [ ]
09/02/2014 10:03:17.102: 3F 07 C8 09 01 00 01 01 F8
09/02/2014 10:03:17.102: DIA --> TEL : Write coding data, Data="01 00 01 01" [ ]
09/02/2014 10:03:17.165: C8 07 3F A0 01 00 01 01 51
09/02/2014 10:03:17.165: TEL --> DIA : Diagnostic command acknowledged, Data="01 00 01 01" [ ]
09/02/2014 10:03:17.274: 3F 07 C8 09 02 08 28 0A D1
09/02/2014 10:03:17.274: DIA --> TEL : Write coding data, Data="02 08 28 0A" [ ( ]
09/02/2014 10:03:17.336: C8 07 3F A0 02 08 28 0A 78
09/02/2014 10:03:17.336: TEL --> DIA : Diagnostic command acknowledged, Data="02 08 28 0A" [ ( ]
09/02/2014 10:03:17.800: F0 03 68 01 9A
09/02/2014 10:03:17.800: BMBT --> RAD : Device status request
So, something about the car and the ULF disagree (or the software isn't working properly).
Car is Italian E53 (FB71) but coded to UK, with Nav coded as GB,IT,FR
The replacement ULF was from UK, and from a 2005 E46.
Should I give up? Everything else works perfectly, and soon it won't be my car anymore....

...perhaps I should leave well alone?