Q: How to use ftBytes as TParam for a TQuery

I've created a TQuery for SQL Server with the following SQL statement :

Insert Into KEY_TEST
( PKEY, USER_NAME)
Values
(Convert(binary(4), :PKEY), :USER_NAME)

I've declared TParam :PKEY as string.

The code insert code then does this:
var lcKey : array[0..4] of char
      lsName : string;
. . .

qryUpdate.ParamByName('PKEY').AsString := lcKey;
qryUpdate.ParamByName('NAME').AsString := lsName;
qryUpdate.Prepare;
qryUpdate.ExecSQL;

This all works fine except when lcKey contains a character higher than 0x7F.
For some reason the string conversion routine converts all characters over
0x7F to 0x80.  It also converts 0x20 (space) to 0x00 (nul).  I've tried
creating the TParam as ftBytes, but it seems the BDE doesn't support the
field types for parameters (See DBTables TParam.SetData).

Any ideas on how to use ftBytes with parameterized queries?

Thanks in advance,

Scott Mason