He encontrado una solución, no me gusta mucho pero de esta manera ya no me desaparece el check cuando marco dos veces sobre la casilla.
Código:
procedure RxDBGrid1CellClick(Column: TColumn);
begin
if RxDBGrid1.SelectedIndex = 3 then begin // Donde tengo el check
RxDBGrid1.DataSource.DataSet.FieldByName('SEL').AsBoolean :=
not RxDBGrid1.DataSource.DataSet.FieldByName('SEL').AsBoolean;
RxDBGrid1.SelectedIndex := 1; // Paso el foco a otra celda.
end;
end;
Sigo buscando otra solución mejor.
Saludos!