GPS is perfectly square to the main shaft and profi unit.
GPS was level during magnetometer calibration (turning heli 180degrees)
metalic/magnetic items aren't too near gps unit.
Is GPS picking up enough satelites. Count the blue flashes at start up.
Engage the different stabilization configurations on the ground with the main flight battery off and see what the lights are doing on the gps and the profi. Confirm they are as they should be.
If you don't find the issue then I would set a second model memory for the heli without all the gps and sensor mixing you have now in the radio. That way you can test without fearing a programming issue in the 14mz. Assign the profi auxilary channel to '3. home and trim' in the rc and trim tab of the software. Set up a 3 position switch on the radio so that centre is GPS and optics. Top is auto trim and bottom is face home.
Set the pilot channel on a slider and have horizontal hold on one side and position hold on the other with stabilization off (0)at centre.
Refer to the diagnose tab and the lights on the units to ensure this is working correctly.
Take off with aux channel switch at centre and slider for the pilot channel at centre (full manual control). SLOWLY raise the slider for position hold at under 30feet. The heli should use the optics to maintain position. Bring the slider back to centre for manual control. If position hold worked climb out of range of the optic sensors (100feet) and try again. This will engage the position hold with only the GPS unit for reference. Be ready to bring the slider back to centre if the heli wanders. It should hold position like before. This should help narrow down where the issue is.
if you want you can send me the Profi screen shots.
SAB Heli Division