Thanks for the replies. I know the error couldn't be browser dependent - hence it was bizarre! I've got to the bottom of what causes the problem - but not got a solution.
Regardless of browser or machine, the function works when I'm logged in - either using my full admin rights or as a limited admin user. This explains why I could see everything OK on my work machine, because I use FF as my main browser (logged in with full admin rights) and IE to check compatibility etc (logged in as a limited user). Safari and Chrome are both used for testing, but I wasn't logged in, just viewing.
The sidebar is an amended version of the ZenPage Default, but on further experimentation, the error occurs in normal pages as well.
MySQL is 4.0. I don't recall any errors on setup, but I wouldn't swear to it, as it all seemed to work, although there may have been warnings.
Another strange thing I've just noticed is that unpublished pages are shown when logged in as admin, but are not (correctly) when not logged in. Is this a connected issue?
I've removed the section from the test site for the moment, but if you'd like to see it, I could put is back and give you the link.