Nick, have you tried the BT line test which I posted under the title "Have you(r) tried this?" on this forum? I'll repeat it here anyway.
"You can test your approximate line length by dialling (on your intended ADSL line) "17070", The response will tell you the number of your circuit. Then enter "3", then "1" (you ARE authorised, aren't you?), then "2". If you then hang up, the test system will call you back and tell you the approximate distance distance from your exchange."