I think I mis-read the comment by Mookai. Instead of fighting the existing fraework, I am going to try to use the User from django.models.auth directly (no subclassing) and unset is_staff and is_superuser attributes so that those users can not mess with the admin rights. The Appuser class was only for adding any additional functionality (if needed in future) and was only coming in the way.
Thanks!