You definitely speak the truth. I think where the issues really show is when you try using the optional APIs, such as MMAPI. There is no requirement for specific codec support for example, which is a nightmare when trying to develop media applications in J2ME. You literally have to test on all devices or go through a beta program with a bunch of users with different phones and simply see if it breaks or not. For a small startup like us, its probably the only feasible way.
As far as UI differences, there are some good tools to help with that. You might want to check out J2ME Polish. On devices that will support it, you can get much more consistent and predictable results with how things will look on screen across platforms. I'm really impressed. Be aware though that if you dont plan on opening up your source code you'll have to pay a $1000+ license fee.
For these incompatibility reasons I'm actually drawn more to Windows Mobile.. I hate just about everything related to MSFT, but at least when you develop for Windows Mobile via VS2005 you get predictable results. What you see is what you are going to get and that is very valuable to a developer.
I find myself thinking more about J2ME applications lately, but for a while I was also expecting that eventually PDAs would dominate the market. So same as you, I was more drawn to Windows Mobile, although I don't have any experience with it. Another option would be to go "web based", if prices for networking continue to fall (in Germany I think you can get a Flatrate for 25 now - still too much for, say, an occasional gamer, but perhaps feasible for serious applications).
As for APIs, of course over time working with the devices one also builds a set of abstractions, so that it gets easier and easier to support multiple phones for future developments.
As far as UI differences, there are some good tools to help with that. You might want to check out J2ME Polish. On devices that will support it, you can get much more consistent and predictable results with how things will look on screen across platforms. I'm really impressed. Be aware though that if you dont plan on opening up your source code you'll have to pay a $1000+ license fee.
For these incompatibility reasons I'm actually drawn more to Windows Mobile.. I hate just about everything related to MSFT, but at least when you develop for Windows Mobile via VS2005 you get predictable results. What you see is what you are going to get and that is very valuable to a developer.