No event is generated for any key press on roCodeRegistrationScreen as far as I know. So probably you wouldn't be able to do it using * button. But I have seen other channels to add a button for demo (I think you are talking about displaying demo content to user instead of self testing the application?) on roCodeRegistrationScreen (Vevo does so as far as I remember). For example you can add two buttons on roCodeRegistrationScreen titled "Get a new code" and 2nd "Continue without logging in" and if user selects 2nd button you can carry on to displaying demo content. As for these button isButtonPressed() will be fired.
I have implemented that solution, however my client wants a method that doesn't impact on visual layout.
I have also implemented a solution that progresses to the next screen based on the number of times the user has re-generated a code i.e. pressed a "Generate a new code" button. This doesn't impact on the visual layout, but my client wants to associate this demo transition with A or B remote key press. I know this sounds simple, and should be simple, but the limitation of the template screens introduces complexity.
Have you tried listening for the isButtonInfo() event? Not sure if that works on the roCodeRegistrationScreen or not, but some screens raise it instead of isRemoteKeyPressed() for the * button.