All right, then I'm sure I fucked up my test somehow.
Did you delete the old .bin's from whatever drivers you had before, and had new ones generated for 14.9 drivers?
Of course I did. I'm gonna re-do the test now, though. 14.6 vs. 14.9 on both my X11 kernels.
Ooookay... this is odd. The hashrate changed - so it seems the driver did as well. Further, I fetched the date on fglrx each time before starting (14.6 being May 29 2014 and 14.9 being Sept 2 2014) so it DID change. As for the bin files, yes, I removed them; I double-checked. Anyway, Savage, this is what I've got, columns are GPU/clocks/mine/stock, rows are obviously GPUs.
Running driver version 14.6:
270X - 1155/1500 - 3.64 - 2.80
290X - 1045/1600 - 7.96 - 4.86
7950 - 1155/1500 - 5.03 - 4.01
280X - 1155/1500 - 5.77 - 4.54
Running driver version 14.9:
270X - 1155/1500 - 3.64 - 2.80
290X - 1045/1600 - 7.98 - 4.95
7950 - 1155/1500 - 5.03 - 4.05
280X - 1155/1500 - 5.75 - 4.60
changes are too small: probably just compiler variance.
compiling the same .cl file with the same settings may result in different hashrates (I believe a 2% range is common).
the file size changes too.
it doesn't happen with all the kernels but I'm sure it does on x11 as well as on my groestl, for example.
EDIT: so long for those fine optimizations which result in 1% improvement and you think it's good... and it's nothing instead ;-)