Thank you for your post.
Is this in an If script step? If so, what precedes the script step? What values are displayed in $$user_zip and Entry_Zip::zip? Listing the entire script may be more helpful.
A few things where going on that made me bang my head. First something stupid, when I logged in for testing it was different then the log in for the IWP and I did not have the zip code database set with the right login. This login was set in the open settings. The "dealer" database I was working on made calls to the "zip" database and the zip did not have the right permissions
Sorry and it was painful to find out. And left a flat spot on my head.
And the other scripts that did not work where the ones that where calculation as set in the database field and it did not work unless I "set" the field - and for instance on a distance calculation using longitude and latitude, I moved the script to the scripts and not the field and it works great. The issue with the field, I think was setting the field to get the calculation, I do not know if global was the issue, anyway I deleted the global field and I moved it to a script anyway.
Thanks, for your help!