I did next:
1. Only Kamailio take care about registration. My Asterisk dont know nothing about who is registered and who is not. Asterisk just forward calls to Kamailio and care about response.
2. All calls from Kamailio are accepted from Asterisk as authorized calls - by IP of Kamailio.
3. I did couple of tricks to handle some problems with reentrant ACK/BYE messages. But as I see - this is in your future.
I can suggest to follow same strategy - keep registration in Kamailio only, and let Asterisk to do its specific job.