Boa Tarde @josimar.picoloto
Estive estudando este caso e acho que descobri um Bug.
Pelo fato das Condições de pre-execução de SQL serem declaradas dentro de comentários de linha do SQL, o sistema não considera necessário levar do Browser para o Servidor o valor das colunas que estão sendo utilizadas nas condições. Neste caso, as condições só funcionam quando os valores utilizados no teste também são usados em alguma parte do Comando SQL.
Para contornar este problema, tente adicionar o valor da coluna “marcado” no comando SQL apenas para que o valor seja enviado ao servidor no momento da checagem, e me avise se funcionou.
Exemplo:
--#IF {?QUERY marcado} = 1
INSERT INTO silvestrin.checkmarcacoes (rotina, chave)
SELECT 'VEICULO_META', v.placa
FROM veiculo v
WHERE v.placa = '{?QUERY placa}'
AND NOT EXISTS (SELECT 1 FROM silvestrin.checkmarcacoes m WHERE m.chave = v.placa)
--#ELSE
DELETE FROM silvestrin.checkmarcacoes
WHERE rotina = 'VEICULO_META'
AND chave = '{?QUERY placa}'
--#ENDIF
-- A linha abaixo serve apenas para garantir que o valor da coluna será enviado para o servidor
;SELECT {?QUERY marcado} AS marcado