Actually, I've written a shell/pair of shells that bypass the driverstation issue--
one exploits the ability of the cRIO to open ServerSockets via javaME's Generic Connection Foundation, so i can pull up a socket on whatever port i like, and either telnet to it or write a proper client app.
The other shell is incomplete, but handles Stdin via an open and undocumented UDP port on the cRIO, passing keystrokes directly to the device. Personally I like the serversocket approach a lot more.
@bronxbomber92: I haven't played with Rhino's AOT compilation system yet, and I know it doesnt have a JIT compiler... so no idea.
On a side note, I'm running into some really nasty hitches in the Java-Javascript wrapper/classloader system, that I believe are the product of the crappy j2me rhino implementation i'm using.
If I cant hack the wrapper system together, I may be forced to switch to a full Java 5 SE version of rhino and will probably retroweave it to work with J2ME. Still that will take a little more work... If anybody knows stuff about this and would like to help out it'd be great. Its eating my hours right now, and I have work.

This is the last hurdle before WPILibJ works fully. If this can be thrown together in a week then it could be released to coincide with the FRC Java release, which would be amazing. 4 Languages for FRC
pm me if you are interested or post here. I can put up a repo &c, although if you are not a beta tester/[hacker] you will have to test your stuff in the SunSPOT environment. Nbd, just no WPILibJ for u!