D3, Batchmove, DB2 Error

I'm using Delphi 3.02 C/S, DB2 2.1.2, and ODBC (no SqlLinks) under
NT4.0, and my application uses a batchmove to pull data from the server
DB to a local pdox table.

bmJob.Source is qryJob; Destination is tblLocalJob; Mode is bmAppend

begin code snippet:
   tblLocalJob.Filtered := false;

   qryJob.ParamByName ('jobDate').AsString := FormatDateTime (dfDB2,
   qryJob.ParamByName ('twnOfcId').AsInteger := fTownParam;
   qryJob.ParamByName ('empId').AsString := fEmployeesParam.strings [0];

   tblLocalJob.filter := 'JOBPRIMARY = ' + '''Y''';
   tblLocalJob.filtered := true;
end code snippet

This code has worked in a production environment for months. I made some
changes elsewhere in the program, tested them out(really, I swear I
did), and deployed the new version. Clients began reporting a DB2
error[CLI0125E fwiw] which turned out to be on the batchmove's execute.
Another newsgroup suggested that error is caused by tables without
primary keys. So I start up Database Desktop & do an Info Structure on
this table, and, sure enough, there are no *'s by the 2 fields that are
supposed to be keys. I close that out & start Restructure (to modify the
table def.) and the *'s are there! Now those fields are admitting they
are keyfields, but the clients still get the error.

So, [Realizing this is probably not the place to ask, and apologizing
profusely for that, & still, hoping for hints....]
1. What would cause the Key *'s to not show then show in Database
2. Does the EmptyTable do something to whack the table definition
vis-a-vis primary key? Or the filter?
3. Why would batchmove.execute behave differently for different DB2
clients? The same .exe and same local pdox tables work fine for me and 2
other Corporate PCs, but the app. gets this DB2 error in towns across
their farflung empire. We even took one of those Corporate PCs, a
laptop, to a geographically close town - still worked on the laptop and
not on the town's desktop.

Any help much appreciated,
Laura Sparer