Hi,
You're going to be at the mercy of the program that you're using to edit the zip file, unfortunately. If the program "saves" the edit as a new file, followed by a delete of the old one and a rename, then Alfresco will have a hard time detecting it as the same file (it's not really) so it will give it a new nodeRef. On the other hand, a program that saved the edited version to a temp location first and then overwrote the file in Alfresco would be seen by Alfresco as just a single write to the existing file and it would be versioned as normal.
To tell for sure what's going on you'd need to get some low level network captures or logs of the CIFS traffic to see what operations are being performed as part of an edit and save. It might not be of much use to you though as you won't easily be able to change this behaviour.
It might be worth having a look at using WebDAV instead for the same type of capability if that might work for you
Regards
Steven