Алгоритм решения задачи может быть следующим. Определяем, откуда начинается подстрока 'del'; удаляем ее; с этой же позиции вставляем подстроку 'insert'. Этот процесс повторяется до тех пор, пока в заданной строке имеется подстрока 'del'.

    Приведем текст программы:

Program Prim;
Var 
  St:String;
  K:Byte;
Begin
  WriteLn('Введите строку символов: ');
  ReadLn(St);
  {Пока встречается подстрока 'del' в исходной строке.}
  While Pos('del',St)<>0 Do 
    Begin
     {Определение номера первого символа} 
     {очередного вхождения подстроки 'del' в строку.}
     K:=Pos('del',St); 
     {Удаление подстроки в строке,}
     {начиная с номера вхождения.}
     Delete(St,K,Length('del')); 
     {Вставка подстроки 'insert' с того же номера.}
     Insert('insert',St,K);  
    End;
  WriteLn('Преобразованная строка: ',St);
End.
Текст этой программы можно взять здесь.