Another thought on this topic. American Airlines has the same issue with their online booking system, it always switches you to the lowest available fare class. You can make a booking, call an agent and have them switch fare classes (say for better upgrade chances or more miles) however when you go back to your booking and try to pay for it it often (though not always) reverts back to the lowest available fare. However, it tells you this. It tells you the fare bucket you are in and tells you that the system found a cheaper fare than the one you had and shows you your new fare bucket. You can then either proceed or call the agent on the phone and have them change it and pay there.
My biggest problem is that Emirates doesn't warn you and then tells you, after the fact, that there is nothing they can do. That is BS as they could easily just add the miles so they are lying to their loyal customers.