Sorry for the delay. I analyzed your posted log file.
I have two suggestions:
I would strongly recommend switching to the latest ArduCopter firmware. This particular flight was conducted with V3.4.6. My main concern is that some of the older firmwares use a newly-developed EKF for estimations in the precision landing controls. I have observed that the precision landing EKF has produced mixed results: great in some cases, and poor in some cases.
In the latest firmwares, you can disable the precision landing EKF by setting the parameter PLND_EST_TYPE = 0 (RawSensor). This parameter does not exist in V3.4.6. The RawSensor estimation type seems to provide more consistent results for a broader range of copter setups.
We recommend using a better rangefinder (SF20/LW20/SF10A). It looks like your rangefinder data is not good, especially at higher altitudes. This results in bad pX/pY calculations.
I hope this is helpful.