Perhaps this could just be a warning instead?  Most of the pyfits "convenience" functions will still return a default as long as *some* valid HDU can be found.  Also it might be nice if this used some version of the argument protocol used by the convenience functions that makes it possible to specify an HDU by name and/or version.  For example `hdu=('SCI', 1)`--that sort of thing.  I can help with that part if you want.