Starting with 3.0.5 you can pass encrypted passwords, too.
You have to set an additional parameter then:
$record_record = $client->client_get($session_id, $record['client_id']);
$record_record['limit_web_quota'] = 10;
$record_record['password'] = '$1$xxxxxxxxxxxxx'; // encrypted password
$record_record['_ispconfig_pw_crypted'] = 1; // tell the api that you send encrypted pw
$client->client_update($session_id, $record['client_id'], 0, $record_record);