Creo que el problema es que no te está concatenando el último parámetro, es decir el valor de :codigo.
probá sin concatenar el parámetro, solo para confirmar. Digamos
Código SQL
[-]
EXECUTE STATEMENT 'SELECT COUNT(' || :CAMPO || ') FROM ' || :TABLA ||' WHERE '|| :CAMPO ||'= 1';
y luego hacer un cast del valor numérico (que me imagino) que recibis, convirtiendolo en un valor varchar.
Hasta luego.