Samsung created application protection mechanism named "Zirconia".what is the Samsung solution?
During application buying process buyer enters imei, which is saved on license server. When bought application is started on the phone, it checks if there is saved license key on the phone and when it's not, application try connect to the license server over internet. When application connects to server and checks if application was bought (basing on imei) it downloads license key and saves it in the phone.
Samsung provides API for the Zirconia and static lib. Developer has to use this API to check license by simple function call and callback implementation.
In my opinion this is very good solution and I think OVI should create similar process.
I'm not using Samsung protection yet, but I think I will publish to Samsung and only demo to OVI.