IUserEventHandler has a ConfirmedEmail event for when they respond to the challenge email. But if you're talking about manual approval, it happens in the AdminController of Orchard.Users but there's no event. So I guess you'd have to override the controller
and add your own hooks.
BTW; I was having a go with your registration module. For some reason the challenge emails aren't getting sent out - have you experienced that? ... Although it could easily be something else causing it, I'll dig a big deeper tomorrow.
Also I noticed you copied the entire AccountController from Orchard.Users; did you know you can inherit from it instead and replace just the actions you need to? At least, according to Piotr, I haven't tried it myself yet ;)