OK! i just thought i'd fill you in, i've got it all to work!
it turns out i'd failed to include the EXTHHeader class definition in my project (i've been separating some of this code from the rest of calibre, so i don't have a 60+ meg dependency
of course, this was just being caught and reported as an "Invalid EXTH header". once i got this included properly, and stripped out the dependencies, my project can read all the metadata, extract covers, etc.
so it all works! thanks for your help