A mí me funciona de maravilla cambiando .AsString o .AsInteger por .Value y todo va de maravilla.
Adjunto ejemplo funcionando...
Código Delphi
[-]
with FDQ2 do
begin
Close;
SQL.Clear;
SQL.Add('select * from T_IMPUESTO_RENTA_GRANDES');
SQL.Add('where NIT = :NIT');
ParamByName('NIT').Value:=Edit1.Text;
Open;
end;
Saludos desde Bogotá- Colombia