Altitude reporting is not accurate anymore

I have had my Garmin 530 for six months and now the altitude reporting is not correct.  Now it consistently under reports the total altitude climbed on a ride (hundreds of feet off on a 40 mile ride) and it is also very slow to change the grade % as you go up or down a hill.  Not uncommon now for it to show negative grade when I am actually going up a hill. It is using the latest software version and I have manually calibrated the altitude at a start of a ride.  What can be done to resolve this issue?