Solved!
Many thanks Jason.
Your suggestions put me in the right direction. I had a PHP includes at line 126(ish) and it was calling a page that already had a recordset called rsUsers that also got it's ID from a match with the SESSION UserID. I suppose that must have cancelled the second call out somehow (I don't pretend to understand why). Anyway, I just gave the recordset I was using on the actual page a different name (rsNewsletter) and all is now working as it should be.
Many thanks for the pointer.