By right, J2ME programs should be able to run any Java phone. But the portion provided by SUN is really limited. So if your program have graphic UI or sound etc, it might request to access the vendor dependent part. So one general rule, just double check the document from SUN before go for it.