OK, well I may have taken the wrong path here then, but...
I hadn't seen any replies when I decided to replace sda, given that sda was clearly showing errors in syslog (that looked pretty fatal to me: http://paste.ubuntu.com/5709656/ - although with the benefit of hindsight these may be errors on sdb which don't reference sdb by name, mixed with errors on sda which do reference it by name - advice welcomed on that one!)
I have sda now in a USB caddy where it doesn't even appear to exist as far as my desktop is concerned.
I separately have a 2TB disk pulled from somewhere it wasn't needed, onto which I have created a new 1TB partition to match that on sda/sdb, and installed it alongside sdb and included it in the array. The rebuild started fine but I then started to get more errors: http://paste.ubuntu.com/5709668/
/proc/mdstat now reports: md0 : active raid1 sda1[2](S) sdb1[1] 976629568 blocks super 1.2 [2/1] [_U]
My take on all of this is that (the old) sda is dead and has gone unnoticed, and now sdb has a problem.
The RAID array houses several virtual machines. It isn't backed up as such, although critical data on the individual VMs is backed up separately. I'd really like to get as much back of this as I can because otherwise I'm going to have to recreate about a dozen VMs, although I'm realistic about my chances. As things stand the array is mounted but giving errors in places, so I'm copying off what I can get access to before I go any further.
All the comments appreciated, even if I did press ahead without reading them - I have pretty much confirmed now that sda is dead so any hope of data recovery lies on sdb. If only I had logs going back further to see what the sequence of events was (or, for that matter, I was receiving mdadm notifications, something to investigate once I get this back up and running).
Mark