Wow, 18 cards is quite a setup to jump into!
I wouldn't be so sure that there is anything wrong with the setup simply based on the hash rates reported by Coinotron. The hash rates provided by pools are mostly for estimation purposes and are often subject to the kind of wild swings that you describe. This does not necessarily mean that anything is wrong. The hash rate reported by cgminer is always going to be the most accurate, and that's what I would base my judgements upon.
As for 600Kh/s per card... well, that isn't too far off if they're completely stock. At the stock clocks of 950mhz core and 1425mhz memory, the cards should be pulling about 650Kh/s with proper cgminer settings. The 800Kh/s numbers that you see bandied about are outliers -- they don't represent average results (average is probably more like 700Kh/s). Overclocked, the cards should be able to break 700KH/s. It may be possible to see 725Kh/s and beyond with proper cooling... but at that point you'll likely start to lose efficiency as diminishing returns from overclocking set in.
I don't know if this will help at all but here are the most important cgminer settings that I use with my Sapphire 7970s:
--intensity 13 --shaders 2048 --worksize 256 --thread-concurrency 8192 -g 2
Those settings and an overclock to 1019mhz core and 1496mhz memory is all it takes to bring me up to 705KH/s. I overclock using MSI Afterburner software, but it's also possible to set the card clocks using cgminer. The cards are undervolted to 1050mV to lower temperatures and save on power. Without air conditioning, I need to clock my cards down due to heat on hot days. I'm running the Catalyst 13.6 beta drivers with cgminer 3.2 on Windows 7 x64.
Hopefully this helps, good luck!