I've noticed this as well going from 3.1.5 to 3.2.1 on an APM 2.5, altitude control is pretty whacked with the newer firmware!
I looked at the log for the 3.2.1 and see that my vibrations are suddenly way out of range despite no hardware changes occurred between 3.1.5 and 3.2.1. I literally flew the quad one evening, came home and updated the firmware and calibrated the new firmware, and the next morning flew with the 3.2.1 and it was all over the place.
So after doing some research and something about 3.2 in an earlier message in this thread, I changed the firmware from 3.2.1 to the previous 3.2. It flew almost as well as it had with 3.1.5!! And I DID NOT make any changes to either the hardware OR re-calibrate it when I went from 3.2.1 to 3.2. I flew it with identical settings between the two firmwares (3.2.1 & 3.2).
With 3.2 the vibrations were in the same approx range as with 3.1.5 (again - no hardware was changed), and the baro tracks closer to the GPS than 3.2.1 did, but not as close at 3.1.5 did.
I really need a working PosHold/Hybrid mode, If there were a copy of 3.1.5 that had Hybrid mode merged into it, I would be a happy camper and leave 3.2+ to the Pixhawk people. 3.2 is more stable than 3.2.1, but not as stable on this APM 2.5 as 3.1.5 is.
I've attached the three logs for the flights I mention above, so you can see how the different firmwares respond to the same exact hardware. Somehow 3.2.1 really narfed things compared to 3.2 or 3.1.5.
Is there somehow a setting that's being overlooked that would allow proper operation on an APM 2.x flight controller? Or something else we are missing?