I updated it to support the EMI .m4b lab files. Get it `ere
EMI lab's seem to have the name directory placed randomly in the file. I chose to place it after the file entry records as with the older GF lab's.
EMI seems to like the files in it's lab's in a specific order, GF doesnt seem bothered about this. To make compiled files work in EMI therefore, I have added 'save filelist' and 'load filelist' buttons. These let you save the order of the files and load that same order back in, so that the file order will be the same when you compile the file. I added checking to load filelist, so if the files in the filelist and the folder you choose dont match up, you will be told so and not allowed to compile the file. Save/load filelist will work for the old Grim lab's too.
The filename's in the EMI lab's often contain backslashes, since you can't have backslashes in a filename in windows the backslashes are replaced with  when file's are saved. When file's are loaded back in to be compiled into an EMI lab the  are replaced with the original backslashes. I have not added this conversion when compiling a Grim lab, since they do not have backslashes in.
Finally, the file header in the .m4b spec was incomplete, this is it with the missing long filled in:
id long LucasArts Bundle ID ("LABN")
version long File revision number
files long number of files in bundle
dirsize long NameDir size
dirofs long Start offset of the name directory when decreased by 0x013D0F (81167)