Making the 500 bigger or smaller didn't help, as you suggested it's constantly detecting touch.
I tried outputting the XY of the touch and got it to register . X went from -16000 to 16000 and Y from -4000 to 4000.
I then looked at the code and saw the section on calibration, which it had never asked for when i first started it. I added a isCalibrationAvailable=false; to force it every boot.
Then when it booted it briefly showed the calibration screen and then started the main loop over the top. So i added a return; at the beginning of the main loop.
So now on boot it sits of calibrate touch bottom right. But touch it and nothing happens.
I don't know if calibration is a goose chase but it seems to makes sense as the issue.
Thanks
James