I had a funny problem with my java applet in web start application - it worked every second time I refreshed web page.
After a little debug I found out that java machine didn’t make it in time to shutdown, start and show applet.
Solution was rather fun:
<param name="separate_jvm" value="true" />
It helped because now new instance off applet launched in a new JVM, simultaneously with closing old instance of applet in old JVM.
But be careful if your applet writes something to user disk or etc - both old and new instance can be doing is for a little time!