Follow up for my situation. The heater code that i'm throwing (189) is actually a pre-cat sensor. I'm at 70k miles so maybe its time to replace them. Once the SES light comes back on, I'll clear the codes and then switch the pre-cat sensors between bank 1 and bank 2 to see if the code then moves to bank 1.
F1004fun also has a more refined voltage curve, so I've been told.
'05 330xi - Koni, H&R, Rogue, Supersprint, UUC, Dinan, Apex