The problem here is not so much about the X3 itself but the way BMW handles my case. The way the dealer and BMW's customer service really did not act like as premium car brand would. I felt like since I did not buy a more expensive model like an X5 or a 5 series BMW, this is how I should be treated.
I took my time and effort to write them complaining that after 8 months and 4 visits, the car is still not fixed. All I got is a call from the dealer saying they need to update the software one more time. I hope they would at least write something back to me explaining the situation, but no, I did not get any after 30 days. Although I like their cars (eg. the new M3), I cannot risk buying another one knowing how I would be treated if something will go wrong.