The CI_Model is missing the __isset function. When using the isset function to check if an library or so is available the isset method returns wrong output.
the fix is to add to following code:
$CI =& get_instance();
This indeed would allow checking for loaded libraries, but it would also introduce false-positives and return TRUE for non-library properties that exist in the controller - we don't want that.
$this->load->library('<library_name>'); won't re-load a library that has already been instantiated, so you can just use that in order to be sure if it's loaded or not.