Solution to my problem

Over on Binary Joy there has recently been information disappearing from the custom field section of a number of the posts. I thought I had fixed the problem but today I noticed it hasd happened again so I went searching and, thanks to Mark Jaquith, have now got the answer

The issue occurs because the plugins assume that every time edit_post is triggered, their inserted form field will be included in $_POST. This isn’t the case. edit_post is called for requests that do not originate from the post edit form and for requests that are not initiated by a privileged user. Comment submission in WordPress 2.1 is one of these cases. Editing of a post in 2.1 (and earlier versions) via XML-RPC is another case.

Now I need to make sure that all the plugins use this code so that the problem does not continue to happen.