On presence of HyperDB drop-in, $wpdb::get_col_length() always returns false.
This is because the get_col_length() method does an early-return if $wpdb->is_mysql is empty (please see here).
the is_mysql property is never set in hyperdb, which causes this issue, while it is hard-coded in wpdb.