At last, I've solved it. Thought I would post the solution here as during my hourse of trawling the threads I read many similar questions raised by people on this and only ever answered once. I can't take credit, I just adapted for my own needs. The person below posted the solution, read the original post here.
Anyway, it's all down to currency codes and a small edit to one file. I set the UK Sterling currency to a code of UKS thinking it didn't matter, but it does. The code was expecting GBP. So, I changed the code in Admin under currencies, but had to set it to be the default currency again by checking the box. I then had to replace the reference to USD in \catalog\includes\modules\payment\paypal.php to GBP and hey presto, it worked. I've still got some tests to do to make sure the IPN side of it is working, but I'm optimistic.
Thanks Greg for such a brilliant mod and, Paul for the helpful post!