А как не позволять изменять значение Tswitch ?
сначала вывести сообщение а потом изменить в исходное положение бегунок ?
В процедурах своих он не меняет положение
procedure TForm1.ADCheckSwitch(Sender: TObject);
begin
ShowMessage('Доступно в другой программе');
Switch1.IsChecked:=false;
end;