I think almost all of the issues described in your second link[1] still apply. Using something like LLJVM takes care of generating native CLR IL or JVM bytecode, but that's just the first part of the equation. We'd still need to take care of interoperation and reimplementing either primops or parts of the standard library directly.
On top of this, there's a good chance that it won't be very fast, even with GHC's optimizations. The JVM is not designed with functional programming in mind, so things like the garbage collector are tuned very differently from GHC's. I know that a lot of Scala programmers have run into problems with more advanced functional idioms performing slowly, so it's already tricky before considering how laziness will make Haskell's performance profile even more foreign to the JVM.
I'm not saying that it's not worth doing, just that there are a lot of challenges to consider. Unfortunately, getting something usable will take more than just using LLJVM.