This was posted over on the milkyway@home forums by someone helping me there. If the fix can't be found in this post then I'm gonna assume there's either a hardware conflict (doesnt like multiple gens of cards ect...) or a bug in the milkyway code since similar troubles have been reported by others with different configurations. here's the posting, i'm a little lost as to where to start with it (i have an idea but not sure how to progress) so figured i'd post it here.
http://milkyway.cs.rpi.edu/milkyway/forum_thread.php?id=3386&postid=60281
ahh, now i'm starting to piece this all together! you see, Richard Haslegrove (from the Milkyway@Home forums) mentioned your having stated here on AnandTech forums that BOINC was detecting but not using the 5870, but i didn't notice it...until now, when i scrolled up and saw your edit no2. when Richard says you can override BOINC's default behavior of using only the better of two GPUs of the same family and ignoring the other by setting the <use_all_gpus> option described in
client configuration, he is referring to making use of what's called a cc_config.xml file, or a client configuration file. i've experienced this exact problem w/ two different dual GPU machines (a 6950/5870 machine and a 6970/5870 machine) in the past. making use of a cc_config.xml file is what finally allowed my BOINC client to use the lesser of two or more GPUs of the same family. what you'll want to do is the following:
1) open a new .txt file using Microsoft Notepad. do not use more powerful words processors (like MS Word) as they can add and save invisible characters to the code you're trying to create.
2) enter the following lines of text:
<cc_config>
<options>
<use_all_gpus>1</use_all_gpus>
</options>
</cc_config>
...this will enable the lesser of your GPUs to also run. if you ever want to switch back to allowing only the most powerful of a family of GPUs to run, you can either change the 1 to a 0 in the <use_all_gpus> line of text, or completely delete that line of text from your cc_config.xml file altogether.
3) save and close the file. rename the .txt extension to .xml
4) place the file on your BOINC data directory, NOT your BOINC installation directory. if you're unsure of its location, one of the first few lines in the BOINC event log will show you this location.
5) start BOINC (or restart BOINC if its already open)
if your were successful, you should see a line of text in the start-up portion of the BOINC event log that says "Config: use all coprocessors," as well as a line (or lines) of text showing recognition of your lesser GPU(s).
as far as which ATI driver version will work, i can't recall which version i was using back when i had the 6950/5870 and 6970/5870 configurations (i seem to recall 12.4, but i'm not 100% sure). you might also want to try more current drivers, like 13.4. as far as BOINC version is concerned, i can't recall if the developers have dropped support for AMD 5xxx series GPUs in recent versions or not, but i'm almost positive that you needn't run a version as old as v6.10.58. its possible that 5xxx series GPU support hasn't been dropped from BOINC at all in the most recent versions, in which case the current v7.0.64 release might do you just fine.
Have you tried express uninstall all ATI software? I would then run Glary utilities (free version) to clean up the registry and tmp files and then reinstall ATI driver. Then run the Glary utilities to clean up the registry and tmp files again.
No idea if this would work but I find Glary is useful for cleaning up the registry after uninstalling a software package. There are usually remnants of the software package in the registry which may cause problems.
i also recommend using ATI's express uninstall utility (from the programs list in Start -> Control Panel -> Programs and Features) as biodoc did, but it unfortunately doesn't really remove everything and completely reverse the original driver installation process. i've never used Glary - i use Driver Cleaner Pro myself...but before i would recommend using either of those 3rd party driver cleaners and registry editors, i would recommend using AMD's own Catalyst Uninstall Utility (a standalone program that is different from the Express Uninstall Utility that is part of the catalyst driver software suite). this is the utility that Richard Haslegrove referred to on the Milkyway@Home forums, but could only find a link to a webpage that required a login and a password. i too cannot for the life of me find a link to this utility anymore, as AMD has changed the look and mapping of its website entirely since i was last there. i do have it though, and it is only a 2.1MB file, so i can email it to you if you'd like. i recommend running this utility after having used the AMD Express Uninstall Utility and restarting. or alternatively, you can start by using this standalone utility, which will to the same work that the Express uninstaller does and more. at that point i would install the new driver and see how things work. if things are wacky, then go through the above steps again, and then use one of the 3rd party driver cleaners after having used the standalone AMD driver removal tool.