My cry for help was answered, and the problem is now fixed. Richard Eriksson emailed me with the following information:
You'd be surprised how common your problem is. In my redesign , I came across the same bug. But I stole the code from somewhere, tweaked it, and it was later revealed for all (by someone else ).  http://www.richarderiksson.com/movableblog/ archives/redesign_snag0105.php  http://www.zeldman.com/daily/0103d.shtml#tweaks Hopefully that helps. Be sure to read the comment in  as well. Richard
Anyway, thanks to all who commented, and do let me know if there are still problems.
Update. Despite wanting to give masses of Brownie points and and thanks to Richard, and despite his name being clearly available in his URL, I managed to misspell it: one k and two s's. I've corrected it now - sorry Richard!