I know I've written too many compression classes/controls, but I just had to make a better one for my application.
Supports Compressing multiple files, decompressing (only all files, at the moment), Reading compressed file header for file infos and calculating CRC32 with the method I just posted here yesterday. Should be quite easy to use, tested "quite" well, but please inform me about any bugs you might find. Also uses a coded progressbar (not .ocx one) to indicate progress.