My solution was to make a script wrapper, where it runs "Xvnc", sleeps a second (optional?), and runs "xhost+" on the new DISPLAY. It works now.
#!/bin/csh /usr/bin/Xvnc $* -geometry 1280x1024 -SecurityTypes=None -AlwaysShared=1 & while ($#argv) if ($argv[1] =~ ":*") then setenv DISPLAY $argv[1] endif shift end sleep 1 xhost +