Yes, 45 Pokefam familiars simply don't show up on familiar.php. For them, the return value of have_familiar() will be true if you've successfully used a hatchling this session, or false if you haven't.
My understanding is that making this return value meaningful again in KoLmafia would entail checking familiarnames.php once when logging in, caching the qualifying Pokefam you have there (range 215-259) in a user property, and updating that property any time a qualifying hatchling is used. If all 45 familiars are present in the property we can even skip visiting the names page. Then, adjust have_familiar() to include a check for those cached familiars. And all of this would only be needed outside of Pocket Familiars runs. That strikes me as carrying less baggage both intrinsically and extrinsically than the methods we'd need to properly implement really_have_familiar() in ASH, in addition to reducing confusion as to why the function returns false for familiars you actually have, which is why I requested the fix to the ASH function itself rather than fix my poorly, poorly written script.
Oh, who am I kidding? The real reason is linguistic -- the function is called have_familiar(). It presently functions as in_terrarium(), which unfortunately is no longer synonymous.