With the awards one thing that is a little goofy is that you can get the award for a higher level, but never get the reward for a lower level. Perhaps the award system should be changed so that if you reach a certain level of a reward it counts as you getting all the lower levels. A downside of this would make it possible to get many stars of rewards in a single map. As such a second possibilty would be to make it so that if you have already gotten the star reward for a higher level it checks to see if you got a reward for a lower level and if not it gives you that star.

2nd time getting silver halo.

Did he already get silver halo?
Yes, so no star

But did he get blood halo?
No, so he gets blood halo's star and it now counts as if he got blood halo before.

Now on the next map a 3rd silver halo is earn and the process repeats

Silver halo yet?
Yes, no star

Blood halo yet?
Yes, no star

So it would be a descending checklist. Also this would obviously only work between awards in a series. You wouldn't get awarded a movement star from perfect because you already got an iron dagger before.