They couldn't fix it, they told me the problem is in the GDFS. The phone indeed came from abroad and was reflashed to support UK networks. Upgrading undid that. I DO have a backup of the GDFS that I did before upgrading, however since it's CID53, I don't have programs that can restore it. UNLESS.. there does happen to be a new version of XS++ that only works in linux that can support CID53 (XS++ 4.1 beta). I have ubuntu-linux on my laptop, so... I wonder if I could restore the GDFS with that to fix it... but I don't know seeing as the GDFS was backed up when my phone was still CID52, would restoring it to the phone completely break it seeing as the phone is CID53 now?