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_postis triggered, their inserted form field will be included in
$_POST. This isn’t the case.
edit_postis 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.