Is there any way to disable private messages module for unapproved users? I tried to remove permissions to use PM for Everybody group, but it wasn't work.
Make a new usergroup, add the users you want to have PM privileges to it. Set the default Users group to No. That would be a simple way to fix that.