So I just put my -311 controller into my 4/09 build 335xi E90. This vehicle normally uses the -309 controller. Of course, the -311 controller works fine in the 335xi, so we also now know for certain that -309 and -311 are compatible. I the put the -309 controller in my 2/08 M3, but it did not function either.
Since the -048 and -309 are interchangeable, and that -048 and 050 are interchangeable, I am willing to accept that -048, 050, 309, and 311 are all interchangeable with each other on post 4/08 build BMWs (if this swap had worked I would have love to get the new 7 series Idrive controller with it's neato black ceramic controller).
The only thing I can imagine may fix the pre 4/08 computability issue is a complete re-coding of the vehicle to make certain that every system is as up to date as possible. Of course, there is absolutely no guarantee that this would work, and is merely conjecture on my part.
12 E70 X5d Black Saphire/ Tobacco
08 E92 M3 SG/Fox Red Gintani Race, RG63
09 E90 335xi Crimson/Saddle 02 E46 M3 Cab Imola/Black (Sold-RIP
)97 E36 Z3 1.9 Atlanta Blue/Tan (Sold)