find('count') では、 fields に配列を渡してはいけない。
DISTINCT カウントを行うフィールドだけを指定するようにする。
そうすることで、条件に従った結果が常に同じになる。
つまり、
<?php ... $publishedAuthors = $this->Article->find('count', array( 'fields' => 'DISTINCT Article.user_id', 'conditions' => array('Article.status !=' => 'pending') ));
というふうにするべきであって、
<?php ... 'fields' => array('Article.user_id');
とすると正しい結果は得られない。