Inno Setup Desmarque uma tarefa quando outra tarefa estiver marcada

Estou tentando interceptar oWizardForm.TasksList.OnClickCheck evento para que eu possa desmarcar uma tarefa quando outra tarefa for selecionada. Eu sei que normalmente os botões de opção seriam usados nessa situação, mas desmarcar automaticamente uma tarefa quando outra é selecionada funciona melhor aqui devido ao uso de várias tarefas hierárquicas e ao fato de que, se os botões de opção forem usados, você sempre precisará de um os dois selecionados quando estão no topo da subárvore da tarefa. Não é possível redesenhar a hierarquia de tarefas para manter a consistência, pois isso inclui duas tarefas temporárias que serão removidas em uma versão futura do instalador. Escrevi o seguinte para fazer isso:

var
  DefaultTasksClickCheck: TNotifyEvent;

{ Uncheck tasks based on what other tasks are selected }
procedure UpdateTasks();
var
  intIndex: Integer;
begin
  with WizardForm.TasksList do
    begin
      if IsTaskSelected('Task1') then
        begin
          intIndex := WizardForm.TasksList.Items.IndexOf('Task36 Description');
          CheckItem(intIndex, coUncheck);
        end;
      if IsTaskSelected('Task36') then
        begin
          intIndex := WizardForm.TasksList.Items.IndexOf('Task1 Description');
          CheckItem(intIndex, coUncheck);
        end;
    end;
end;

{ Update the task states if the task states change and restore the original event handler procedure }
procedure TasksClickCheck(Sender: TObject);
begin
  DefaultTasksClickCheck(Sender);
  UpdateTasks;
end;

procedure InitializeWizard();
begin
  { Store the original Tasks Page OnClickCheck event procedure and assign custom procedure }
  DefaultTasksClickCheck := WizardForm.TasksList.OnClickCheck;
  WizardForm.TasksList.OnClickCheck := @TasksClickCheck;
end;

No entanto, quando executo o código, recebo um:

Fora da faixa de proc

erro, ao clicar em qualquer caixa de seleção, comDefaultTasksClickCheck(Sender); destacada como a linha incorreta. Se eu comentar esta linha, não receberei mais o erro, mas obviamente não restaurarei mais o manipulador de eventos original e ele ainda não verifica e desmarca as tarefas corretamente, com a Tarefa36 desmarcável quando a Tarefa1 está marcada. O que eu fiz errado?