Alastair, you might be annoyed by this question, and may have already tried this, but have you tested it locally and if so and still having issues using different ports. There is always the chance your ISP restricts random ports externally and maybe running a packet inspection against your current config might offer you some insight. Not sure of your skill level, just trying to help.