No puedes pasar el nombre de un campo como parámetro.
Además, creo recordar que está mal el planteamiento que haces aquí:
Código Delphi
[-]if not consulta.prepared then
begin
consulta.prepare;
consulta.close;
consulta.parambyname('parametro').asLoqueSea := valor;
consulta.open;
end;
Creo recordar que, en todo caso, aunque no es necesario el prepare, debes hacer así:
Código Delphi
[-]consulta.close;
consulta.parambyname('parametro').asLoqueSea := valor;
consulta.prepare;
consulta.open;