Para el caso de Java:
Ud puede generar el (digamos) .jar y eso es lo que se vende, ya es problema de quien lo ejecute que máquina virtual usa. Para esos casos lo que uno hace es "recomendar" alguna, para eso no hay problema.
Para .Net:
Los proyectos realizados con VS no tienes q estar licenciados de ninguna forma, solo tiene q tener todo el IDE (incluidos SDK's y demás) legales. Por lo general el SDK para programación móvil viene incluido con visual studio, y si no, es gratis. Lo que se hace en esos casos es "Use VS xxxx utlimate (team edition) para programar, despues bájese el VS express (el gratuito), y compile lo q programó ahÃ". De esta forma, el producto final es compilado en un IDE gratuido, por lo que es totalmente legal.
Me queda la duda del "SDK" para win ce, CREO que es lo mismo q el sdk de windows pero mas limitado, las llamadas se hacen igual (se hacen igual en lo q respecta al desarrollador) y todo, por lo que no creerÃa q necesite bajarse ningún SDK

. depronto hace referencia al "emulador" y el cuento de trabajo con móviles, pero como le dije, uselo, y cuando vaya a compilar hagalo con el express