1.2.1 is not 100% binary compatible with 1.2.3, since later zlibs add on new functions. 1.2.3 adds a new function gzdirect() which ZSNES makes use of, it's not in older versions. You wouldn't be able to link ZSNES with anything but 1.2.3, I'm not sure what would happen if you already have the binary though. Perhaps it'll just crash when you try to load a gzip'd file.
Also of note, did you build ZSNES with the debugger? Because if you did, it'll also depend on some package which supplies libcurses. -Nach