Parameter.AsString for an integer field results in a "record not found" error

Parameter.AsString for an integer field results in a "record not found" error

Hi,

With Delphi 5 
+ V6.11.23 of SDAC components 
+ request : select * from TABLE where KEYFIELD = :Key
+ ParamByName('Key').AsString := '123' with Key integer field
  1. evrything works fine with SQL Server 2016
  2. with SQL Server 2008 (or 2012, not sure), error "record not found"
    if I change for ParamByName('Key').AsInteger := 123, it is OK
Is there a way to avoid this problem without changing all AsString into AsInteger for integer fields ?
What is the minimal version of SQL Server to avoid this problem ?

Thanks for any help !
Christophe