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,