Thank you everyone for your ideas and inputs. Special shout out to Andrew for spending half his day with me scanning and diagnosing my issues. Everything we look at on online forums and the help from here, points to the ignition switch so as said by CN90, it is a low cost effort to rule out this problem. I am ordering a Genuine BMW switch today and will update you if this fixes the problem.