Now I'm not sure about changes which I've done
in my Drupal, chamilo.module and Chamilo,
but (if the problem occurs) you can try to add this code:
case 'insert':
$admin_access = user_access('administer chamilo');
$connect_access = user_access('connect with own Chamilo account');
$sync_access = user_access('sync users with Chamilo accounts');
$params = array(
'loginname' => $account->name,
'firstname' => $edit['profile_name'],
'lastname' => $edit['profile_surname'],
'password' => $account->pass,
instead of:
case 'insert':
$admin_access = user_access('administer chamilo');
$connect_access = user_access('connect with own Chamilo account');
$sync_access = user_access('sync users with Chamilo accounts');
$params = array(
'loginname' => $account->name,
'password' => $account->pass,