CPU (at least not AMD): i5 -> i7
GPU (very bad choice): AMD -> nVidia
RAM: OK
MB (very bad choice): Asrock -> Asus
HD: OK
PS: OK
I'd like to have a nice nvidia powerhouse GPU but my budget won't allow it either. Plus, I don't like the idea of supporting them, they're really shitty with the way they do things. AMD takes the more opensource style of approach with new features and doesn't try to over-advertise and bash the competition.
As far as the motherboard, I don't know that ASRock was a bad choice. Personally, I prefer ASUS but that's because I have experience with them and know them to be quality (stick with what you know I guess). The ASRock boards I have seen haven't been terrible, surely a step up from the crap MSI makes.
As far as the CPU, don't worry about it. I have an Intel Pentium G3258 (shocking that a techie would have such a low end CPU, I know). It seems to do everything I need now that I got away from most games. Sure it's maxed at 100% during startup and some other tasks but when prices come down and I feel like putting money into my computer, I can drop in an i5. You don't have to go i7 or nothing unless you render hour-long HD or higher videos or demand the best 4k experience on the newest games. Even then... I've found memory to be far more important than CPU power. I've got a lowly dual-core but behind it is 16GB of memory and I've never maxed it out.