i am not an expert on this and i realize that you are asking another poster this question, however.
1. > I have taken it several times to my local authorised repair centre here in Leeds, UK. They have tested it extensively (keeping it over night) and have always concluded that the battery health is fine.
my experience has been that having the genius bar, or anyone really in my opinion, run a diagnostic on "battery health" or keeping it overnight is almost worthless. i constantly got 1 1/2 of runtime on my MBP, was always in Activity Monitor trying to find the supposed offending software or softwares, and never got anything to work propertly until i got any actual action from mac until i got a Service Battery Alert. before that i always went in and there was some poor excuse related to poor battery life and the diagnostic numbers said everything was hunky dory. which i now assume translated as "given the battery that was put in this machine and given the parameters that we are being asked to test it with and given the fact that we are not talking about any real world actual usage - this battery tests fine".
also, i note that the last time i went in and got it back and opened it up they told me they test at 50% screen brightness but i had to immediately increase this to 75% because i couldn't even read the screen in the genius bar at 50%. antoher side note here is that /unchecking/ automatically adjust screen brightness on my machine apparently increases battery life. /that/ one is truly alice in wonderland through the looking glass material in my opinion....i mean, so - i have a computer where asking it to NOT intelligently adjust screen brightness works to increase my battery life?!
anyway, why after bringing it in at the year and a half mark and then the 2 year mark - everything looks hunky- dory - and then finally i get an actual alert something changes i have no idea. but at that point i imagine they /had/ to replace the battery. if i can't keep a battery running on my computer for over two years with over 1 1/2 of runtime what use is any of it?
so what i am saying is that running this level of diagnostic is absolutely useless imho for this type of problem (where it is not simply an issue that the battery is old and needs replacing) and that running Capture Datas that get sent to apple developers is the best route to get to the bottom of this in some way. at least then, someone is reading some lines of code instead of simply tossing you out the door and telling you to try and read a rather cryptic and non-constant and confusing set of readouts in the UI in the Activity Monitor.
2. i am not convinced that this is related to user loaded software. i finally went out at a year and a half and purchased a full 8 GB of RAM hoping this would solve my constant hangs and i still had problems and i am sure that in another three months or so that i will be back to the same problems i had when i first started using the computer - even though i now have a new motherboard and a new battery.
also, in reflecting on this i am not running any computationally intensive software at all anyway which makes me feel like this issue of what software are you running and why is there a software in the startup items (because i need to use this software!!!!!) - is basically like a sick joke. if i ran this computer with actual computationally intensive operations i am sure it would lockup like a brick.
what i am saying here basically is that it may not be a bad option to try and dedicate a weekend or a couple of days to reformatting your hard drive, loading mission critical software only and seeing slowly how it performs over time.
not being in warranty is definitely no picnic at the beach but at some point - if i had known earlier where i was headed with this machine - i would have made a short thumbnail calculation and realized that dealing with the problems related to this machine has probably cost me 5K in lost time anyway...
so a reformat over a couple of days to see if you can get down to a slimmed down install and see if you can build on it slowly over time may be an option - rather than trying to single out and isolate one piece of software one at a time...
- jon