I ended up swapping the MSI brand card for a Sapphire, and the Sapphire runs so nice that I bought several more the next day. Maybe you'd have better luck with a Sapphire, but who knows?
However, I should also mention that one of my R9 290x rigs seems to prefer GUIminer Scrypt while another prefers CGminer. The nice thing about the latest version of GUIminer Scrypt is that it has an r9 290x high-intensity preset that works very well for me. I use it for a 3 x R9 290x rig along with --auto-fan and --gpu-memclock=1500 commands running in three separate instances, one for each card. I'm averaging a solid 900-905 khash/s average between the cards with fans running at about 85% and the cards sitting at 81C, 85C, and 74C respectively.
I haven't had any BSOD yet (touch wood) and I can run intensity at 20 off the bat, although I didnt at first, just incase it gave me problems. My original problem is kind of sorted now, i'd like to get 900kh/s but at the minute i'm just trying to get a stable 830 across the board. On launching the miner i can achieve 830 on each card but it soon drops due to CGWatcher (or something else) dropping my clock speed on the middle mounted card. I just wondering how i can "lock" in the core clock speeds so they dont change if possible. So far 933 has worked good for core clock speed and memory at 1500. Once i get that stable, i'll mess around with it some more, hopefully achieving 900+