I'd attach this to the post I made a couple of days ago but I think this could possibly get rid of any errors you're seeing.
I haven't seen these any where in the manual but I highly reccomend (if your having major trouble) that you erase and reset your APM. I'll detail how to do this in a second. My problem stemmed from the fact that I've been updating the firmware (2.8 to 2.9 to 2.9.1 to 3rc1). I'm not sure what all is carried over but I don't thing the process of upgrading through these versions erases whatever was left from the previous one.
I erased and reset my apm, loaded up 3rc1 and like magic it was flying perfectly. Stable flight was restore, I regained control over the roll and pitch. It was definitely awesome since I've been working on this thing on and off every week since Feb!
To erase connect your apm in the mission planner. Open up terminal and type setup. Then type erase. Wait for to erase and then type reset. Finally type Y and then it will ask you to reboot the APM. Do this simply by unplugging it. Then load up whatever version you want to test clean.
Doing this resolved the following problems for me:
1. unstable flight, it felt like some of the issues that you've guys seen with the compass being off, but in stablize mode.
2. regained control over roll and pitch. I somehow lost this capability through all the upgrades that I was doing. The turnigy 9x was pushing the roll/pitch signal but the apm wasn't producing the output in the hexa.
3. It also got rid of aggressive see-sawing. Like it was over correcting when trying to stay stable.
I'm not sure if this will fix your problem but I definitely don't remember reading about this in the manual!