The J2ME MIDP 2.0 -standard-.
....with caveats. If you program a MIDP 2.0 -standard- application using a
standard java extension (like JSR 82), the application may not run based on
the capability of the targets platforms. Case in point: Nokia's 9500 and
Motorola both have Bluetooth, but Motorola doesn't support JSR 82, so a
bluetooth Midlet will run correctly on the Nokia, but not on the Motorola (I
call this Motorola's penchant for "leading from behind"--they *defined* the
JSR 82 standard but you'd be hard pressed to find any of their phones
supporting it at any major phone shop in the US).
Other things to look out for is support for RMS, Location API, 3D
graphics... And so forth. If you're just talking about the typical "input a
number and I'll calculate another number"... Yeah, you're pretty safe.
But as your MIDlet gets more complicated, you run into issues: how many
bytecodes per second the platform can handle, maximum number of threads,
maximum size of the heap. WRT the RMS thing--how fast the platform allows
you to write to the record store (if it allows you at all).
?? I do not know. In fact, everything I *do* know about J2ME
came from the document I linked to earlier, which was written
by Darryl Pierce, the *other* person who replied to you.
Modern palms are rather good at keeping up to date with J2ME--they have the
advantage of being able to be conveniently upgraded.