Well it's behaving differently now anyway... The boot menu highlight keeps moving upwards. It stops if I press up or down, and continues when I let go. None of the other keys/buttons seem to do anything. If I reboot it continues to do the same. I've left it with the battery out for a while on the offchance that that will help. But you think it's more likely to be a software thing than a hardware thing?
edit - Fixed! It was still wrong when I put the battery back in, but then a bit of waggling (the same waggling I'd been trying before) seemed to suddenly make it behave. Thanks for the help. I wonder if that firmware flash would still help in the long run though.
edit 2 - It was still going wrong so I went ahead with the reflash. So far so good this time.