I went through the same thing. I didn't come up with a satisfactory solution. I had the same idea: wouldn't it be nice if there was ifChannelStore function that would return when the channel was purchased. I could come up with ways using existing registry entries (new users wouldn't have those entries), but that wouldn't cover the case of a factory reset or a user getting a new box. In the end, I went with creating a new channel and having the old channel removed from the Channel Store. Existing users wouldn't know the difference and the old channel is still available should they add another box to their account. The only drawback is that you need a little help from someone at Roku. You can't have two channels with the same name and/or the same vanity code, although I
think you can just change those for the old version and use the same names for the new version. I forget exactly how I handled that. Also, someone has to, or should, remove the old version. Of course there's also the problem of updating both versions, but I don't plan on ever updating the old version.
You'll love the Dark Side. You think regular billing/payments are screwed up? Wait until you try RAF.
On a related note, I'm seeing the same shortcomings as far as subscriptions are concerned. You can purchase a subscription through roChannelStore, but as far as I can tell there's no way to retrieve any information about the subscription like when it was purchased, has it been canceled, etc.
-JT
Roku Community Streaming Expert
Help others find this answer and click "Accept as Solution."
If you appreciate my answer, maybe give me a Kudo.
I am not a Roku employee.