Are you sure that your ISP has done this? Changing to a different port is not a good solution, since incoming requests are most likely to be on port 80 anyway. Generally people won't understand about typing in the extra ":82" into a web address.
To diagnose your connection problem, go to a command prompt and type "telnet x.x.x.x 80", replacing x.x.x.x with your external IP address. Post the results here.
£28 a month is way too much for basic domain hosting. That's what we would charge for two years!!! Or does that cover your broadband as well?