Tente obter a consulta que o CodeIgniter está executando usando o seguinte código:
$this->db->last_query();
Poste também a consulta que você está usando para interagir com o MySQL, apenas para confirmar que exatamente a mesma consulta está sendo executada.
O CodeIgniter tem um hack para MySQL que ajusta o relatório de linhas afetadas, no entanto, fiquei com a impressão de que era apenas para consultas DELETE. Se você olhar para
system/database/drivers/mysql/mysql_driver.php
ou system/database/drivers/mysqli/mysqli_driver.php
(qualquer driver que você esteja usando e veja a variável var $delete_hack = TRUE;
. Ajustar isso pode afetar seu resultado, vale a pena tentar?