Rate mode uses only Gyro. Board level calibration calibrates Accelerometer. Attitude mode uses Gyro+Accel. So it does not matter that it is hovering in Rate.
This means that you didn't have quad-copter or flight-controller perfectly level. You can account for that by tuning Virtual Board Rotation and adding some pitch. I use that to account for my titled motors, and I get perfect hover in attitude mode.
Thanks for the tip, could have known that. But the quad really was calibrated on a perfect ( kitchen Floor ) level surface. As done many times before. The FC is a level as it gets on the quad itself. And after calibrating the level attitude in Librepilot the quad still wants to fly forward, we're not even talking drift here. Hands of and it flies away forward and picks up speed. A mentioned, it has to be something else like mentioned here: wires or shielding wires or shielding the FC. The PDB of course is underneath the FC but it has flown perfect for months now. The only thing I changed ( should have mentioned it before ) is I cut all wires to and from the ESC to make them a lot shorter, also the signal cables.
The other problem I have as well since doing that is that the quad stops flying and flips on sudden throttle input or yaw input. Even if I do it gently throttle up the quad flies not straight, it flies up and to the left.
I've attached two slo mo movies of the issue. I changed motors, resoldered all ESC cables. Took another CC3D FC, Changed PDB and nothing really helps.
Then I moved ESC and motors around and the problem still persists.
See for yourself.