Replying here for the benefit of the thread, but I have a little test map I can share with you and will send it in email. The short answer to how I solved this is to use the MEMORY adapter setting instead and to add each file individually to the same Archive. You could have 2 output cards to add to same archive or you can run the map multiple times with new files to add to the archive. Here I have given the Archive an explicit name - can probably use the override and just get the whole name from either an input or the output card... then sending in the filename only so no path is retained with the ECHOIN for the data.
=VALID(PUT(
"ZIP", "MEMORY," + GETDIRECTORY(ZipOut) + "output.zip," + SUBSTITUTE(GETFILENAME(ZipFile2), GETDIRECTORY(ZipFile2), ""), ECHOIN(1, ZipFile2)), "Failed ZIP")
Don't get mad - I needed a little distraction from the ETL and this was perfect. (o: For everyone else, this is my boss and I was supposed to be working on something else.