OK so nobody knows how do to the custom profile fields checking.
There a many people that now how to do, but maybe they did not come accross your topic. Patience is a virtue you should try to embrace.
There is no plugin available for that, as far as i know. But you can write your own. You would set an EventListener on the event saved@LoginForm (or maybe you use another event, there could be one in the session system, i don't know, you would have to take a look) and check for the profile fields to be filled. If they are not, redirect the user to the user CP. Of course you would have to make sure he filles out the fields and not just leaves the user cp, so you might wan't to set an EventListener on shouldDisplay @structuredTemplate as well and check if ha has filled out the fields, if not, redirect him to the user cp.
If can help you with writing a plugin, but i won#t write the plugin for you.
For the second problem, please open a separate thread. And try be show more patience in the future, my motivation to help someone significantly diminishes if i see him pushing after almost no time...