I'm going to show you how to survive
I would think that when mixing interpreted languages with compiled languages, it would be important to make both sets of code work independently. The ability to reference Java classes from scripting code clearly violates this tenet, as the resulting code will not work outside of the Java execution engine.
I would also think that, if one was going to mix interpreted languages with compiled languages, it would not be a great idea to compile the interpreted code. Interpreted code is likely to be interpreted code for a reason, and if one is going to compile it, one might as well write compilable code.
I applaud the idea of being able to run scripting code from an engine within Java, but some of these features make me queasy, the same kind of queasy that I feel from embedded SQL. Not roller coaster queasy. More like watching a grown man eat raw zebra from a tattered carcass queasy.