After looking at my HW errors and explaining to someone last night in another thread what xI vs I vs rI it occurred to me that the shotgun approach I was using was flawed.
At the settings I was using I was making the GPU work 10 times harder and essentially getting 33mh by loading up the work and accepting the HW.
So today I used some reasoning- although it is limited by my understanding of "4-way" vs "8-way". The other quote I accepted was the one made by Oh-God-it's a Girl earlier in this thread. SHe stated that HW errors are normal, when in fact they are not normal.
So I started from scratch using the info I have on hand. Global work has been accepted as 16384 or a variation of that number. Plugging that into the xI formula and knowing a 390 has 2818 shaders the xI equivalent would be about 5.81. It decreased the HW works but hashrate is about 20mh. I then decreased the worksize by a factor of 4 to 64 (only because everything in mining is a factor -lol - and we went from 8 way to 4 way) and I increased the the xI by 2^4 and get about 93. Also increase the xI without decreasing the worksize increased HW. Plugging those numbers into the miner I am getting respectable Hash rates of about 28mh on a 390 with 1100/1250 with very few HW.
A little more tweaking and will increase the worksize and double the xI since it appears more threads are available with this miner using 4-way (at least I think)
I said that SOME HW errors are normal. Which they are, according to Wolf0. You should be averaging 1-2ish. Correct?
I never say anything without making sure it's fact. =P
If you're seeing a few, it's normal. As in, expected behavior. We've not figured out why they come in just yet, and how to avoid them.
Also, see NaN's comment here:
@OhGodAGirl
Big thanks

My last questions:
1) sgminer shows hashrate like this: 21.70M/20.21Mh/s - is this 20.21Mh/s my card's hashrate? I got 22 Mh/s @ CM ...
2) WU: 20-21/m for such hashrate - is it OK?
TIA
The first value is an exponential moving average of your hash rate. Therefore, this value is a good measure of your current hash rate after a few minutes. The second value is an average over the whole run time and it should be equal to the first value after a few hour, if the pool connection is stable. One Radeon RX 480 8GB does about 23.8 MH/s with stock clocks and your card seems to be close to 21.7 MH/s (you have to run it longer).
The WU (work units) are used to calculate the number of HW errors. Let's assume your card mines with an average of 20 MH/s and has an error rate of 2%. Then the expected WU value would be 20/m * (1-0.02) = 19.6/m.
The hardware errors are normal, but they aren't shown by other Ethereum miners. A defective card typically produces 10 times more hardware errors then a working one.