I compared the old execute() function (system/database/drivers/odbc/odbc_driver.php) with the updated version and found the culprit. $this->is_write_type($sql) OR $success = $this->odbc_result; returns a boolean for all writes to the db. In the old version they just returned whatever odbc_exec() gave. To fix this, I just removed the first part of $this->is_write_type($sql) OR $success = $this->odbc_result; and only kept $success = $this->odbc_result;. This may cause problems if some other code expects a boolean and make a strict check for === true.
I hope this made any sense. If someone has a better solution, please tell me.