Okay, so, thinking about it a bit, I am wondering why you are saving it as a folder action. The instruction I set up were for use as a service. As designed, it applies to a folder of unzipped tracks. You simply context-click the folder, select Services>Karaoke Archiver and it should process that folder.
Do you have a special folder you drag tracks to, and just want CDG/MP3 pairs to magically zip together? This is not the intended purpose, but I suspect to make it work you need to remove the first Automator action, since you do not need to get the Finder item (it already knows that!).
Edit: okay, now that I reread your post, I see I was misreading it the first time. You are running as a service, not as a folder action. So more examination will be necessary. Since I don't have a folder of unzipped tracks lying around, can you tell me what the output of the script portion of the Automator action was?
Edit 2: On further reflection, pretty sure the issue stems from the shell script getting the wrong input when run as Folder Service. When run from Automator, the input it gets is a list of files (the contents of the folder). I suspect when it is run as a folder action, the input it gets is different (won't know what until I have a chance to actually test) but that might be enough for you to go on to examine it yourself, look at the output from the previous Automator action and the input to the shell script, and figure it out. (My first guess is that it is getting the path to the folder, not a list of the files within.)
FTR: here is what mine looks like:
(with a "Speak Text" off the bottom of the window, just to be cute).