The zip.SetCompressionLevel method must be called after appending the files (i.e. after the calls to AppendFile* or AppendOneFileOrDir).
Also, the compression level is a setting for the Zip deflate algorithm. 0 = no compression, while 9 = most compression. 6 is the default. In general, the improvements are not that great, so I always recommend leaving it at the default.