No, I think there wasn't a filename in the file, so it tried to use the original minus .gz, except there was no .gz, so it unpacked the file with the same name as the original, and then deleted the original. That is to say, the unpacked file. This is so horribly retarded it's not funny.
I ended up using zcat, but of course "zcat YKK.kmz > YKK.kmz.decompressed" doesn't work, because the zlib tools obsessively check for file name extensions. Why they don't actually check the file itself to see if it's compressed or not is beyond me.