Creo que el problema está en el procedimiento
Click.
Estás utilizando un código como este:
Código Delphi
[-]procedure TDBToggleSwitch.Click;
begin
if (csDesigning in ComponentState) or FReadOnly or (FDataLink=nil) or
(not fdatalink.Edit) or (internalUpdate) then exit
else
begin
if DataSource.State IN [dsEdit, dsInsert] then
BEGIN
...
Y creo que tú mismo estás poniendo el Dataset en edición cuando ejecutas ese código en rojo.
Tal vez lo que querías hacer es:
Código Delphi
[-]... (not fdatalink.Editing)...
Porque no le veo sentido a lo que tienes ahora.