OpenJNLP is a possibility, although I couldn't get it to do what I'd like. The only other thing I'm considering is writing a light weight version of JNLP to only support the "normally used" features.
What issues did you run into with OpenJNLP?
I used it as part of a JXTA-related project I was involved in to JNLP-enable services that are downloaded after the app has started, (the classic "web-start" no-good scenario) and this seemed to work out pretty well. That said, it was a relatively simple and straightforward use-case so I probably wasn't trying to do anything as sophisticated as what you need for your game. I'm curious as to where one is likely to start hitting walls with OpenJNLP when trying to do fancier stuff.