Delphi Batchmove & DB2 CLI 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.
I saw a newsgroup discussion which 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

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