It's CodeIgniter's logic that determines which error is critital and when to call `show_error()`, not PHP itself. I don't disagree that `headers_sent()` is the best solution to do such a check, it just doesn't make a sense to check on it here.
Revert the change please, it's not in the scope of adding CLI status codes anyways.