I had to reboot the server machine this morning, and to my suprise, everything now works! Must be something that has to be loaded into memory at boot. Anyway, for posterity, here's my ~/.vnc/xstartup that gets IceWM via VNC from a client box..
#!/bin/sh
# Red Hat Linux VNC session startup script
# exec /etc/X11/xinit/xinitrc
xsetroot -solid grey
xterm -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
icewm-session &