First and foremost: why do you run VNL over "ssh -X"? This will give extremely poor graphical performance. No matter where you have the license, you should always be able to run VNL locally on your machine, and instead of tunneling the graphical (big operation) just tunnel the license connection (small operation). This also makes the graphical requirements easier, since your laptop or desktop probably has a proper graphics card, which the cluster nodes might not.
The settings are not the same if "setenv HOME" makes a difference. So what is $HOME for the user that fails before you set it? It's unclear to me what "local" means here - the machine from which you ssh or the machine on which "vnl" is executed?
Also, why do you run "sh vnl"? It's an executable script, you should just run "vnl".