Primary Key, Unique Index and Grid component

Delphi requires a unique index for a table to be able to work with grid
control without problems. From my personal experience (Delphi 2.0 and SQL
Anywhere) if I don't have a unique index and I entered a record in a grid
it becomes invisible (it is there though and will appear after reopening).
If I do have a unique key everything is looking good. Borland SQL Explorer
can be used for testing.

The thing is that I have a primary key defined for my table. In SQL
Anywhere it is kind of internal index which is unique and used in
optimization of all queries. Creating another unique undex based on the
primary key is not recommended by Sybase and will create the overhead.

Is there newer versions of BDE, ODBC, Grid components, whatever which will
recognize the primary key as a unique index for a table?

Maybe there is a trick that I can use in my current configuration?