Напишите триггер для Пользователя, чтобы он предотвращал удаление Пользователя, если у Пользователя есть связанный Контакт.

[Примечание. Не тестировалось в консоли разработчика]

trigger AccountTrigger on Account(before delete)
{
 switch on Trigger.operationType
 {
  WHEN BEFORE_DELETE
  {
   AccountTrigger.beforeDelete(Trigger.new);
  }
 }
}
public class AccountTriggerHandler
{
 public static void beforeDelete(List<Account> accList)
 {
  Set<Id> accIds = new Set<Id>();
  
  for(Account acc : accList)
  {
   accIds.add(acc.Id);
  }
  
  Map<Id, AggregateResult> conToAccMap = new Map<Id, AggregateResult>([SELECT AccountId Id, COUNT(Id) ContactCount FROM Contact
                    WHERE AccountId IN : accIds]);
  
  if(conToAccMap.size() > 0)
  {
   for(Account acc : accList)
   {
    AggregateResult ar = conToAccMap.get(acc.Id);
    Integer val = Integer.valueOf(ar.get('ContactCount'));
    if(val > 0)
    {
     acc.addError('Account can't be deleted!');
    }
   } 
  }
  
 }
}