Some good changes that went into xmlrpc.php for the 2.2 milestone inadvertently broke the behavior of WordPress for comment and ping status. I don't have time to put together a patch right now, but the summary of the problem is observed by searching on
if(isset($content_structmt_allow_comments?)) {
and
if(isset($content_structmt_allow_pings?)) {
In xlmrpc.php. Note that the new structure of this logic (new to 2.2) causes the default_comment_status and default_ping_status values never to be used unless the client attempted to supply a value.
The fix is to make sure that the default status values are used when the content structs are NOT set.
I think this should be considered a higher priority than 2.3, since it's a regression in 2.2 from previous releases.
Thanks!
Daniel Jalkut
Red Sweater Software
(NOTE: This bug is still present in trunk and with the latest changes proposed by http://trac.wordpress.org/ticket/4469. I'm writing a separate bug because that issue is not scheduled until 2.3. I'll also add some comments to that issue, however.)