I checked the V2.7 regarding this issue, and it still not work.
It seems isset() still returns false if the variable is zero.
After some research, It seems difficult to test a variable if it is zero.
I suggest the url should be comment_status=’0′ or comment_status=’1′ so the tests are easier, then, we updating database, cast to integer as follow :
$data = array(
…
…
‘comment_approved’ => (int) $comment_approved,
);
I did not check this but I guess it should work.
Thanks
Jerome