I guess it's a matter of how much code change Oracle wants to make. What you say sounds like simplifying Oracle code. But in fact, it may actually be adding more complexity, because there's so much detail to take care of in this risky code change. (For example, you still need to deal with the changes already made to the datafile blocks even if you throw away redo.) So Oracle chooses the easier way, i.e. making the least change.
I guess it's a matter of how much code change Oracle wants to make. What you say sounds like simplifying Oracle code. But in fact, it may actually be adding more complexity, because there's so much detail to take care of in this risky code change. (For example, you still need to deal with the changes already made to the datafile blocks even if you throw away redo.) So Oracle chooses the easier way, i.e. making the least change.