As a newbie to JUCE, I have a similar problem, not over VNC, but over ssh.
I wrote a simple test program. It compiled and ran fine locally on my Linux box (RHEL, kernel 2.6.18-194.el5, gcc 4.5.3).
However, when I tried to run it remotely by ssh -X, I got some problem.
The window was shown correctly and I can move it by dragging the title bar.
However, when I tried to resize the window, it did not repaint. It did take effect though. So I could still drag the title bar and move it, and when I clicked the location where the close-window button was supposed to be after the resizing, I could close the window. The problem is it did not repain/refresh.
Any input/advice will be appreciated. Thanks.