Duplicate rows suddenly appear when searching on a TTable

I am encountering a problem when searching through a dataset
on the primary index on a Sybase table;  duplicate rows suddenly
appear when a matching row is found.  Let me setup the scenario:

1.  I am using Delphi 4.0 Client Server and have applied both
    Update #2 and #3 patches.
    a.  As a result of the patches I am assuming I have the
        most current version of the BDE and SQLLinks.

2.  I am connecting to a Sybase System 10 database using a
    Native SYBASE driver.
    a.  Driver Configuration settings
        1.  Language Driver - I've tried all of the following:
             a.  blank  (default)
             b.  ascii ANSI
             c.  Sybase SQL Dic437
             d.  Sybase SQL Dic850
        2.  dll is sqld_ss.dll
        3.  dll32 is sqlssc32.dll

3.  I am only using native Delphi 4.0 controls; no 3rd party controls.
     I am using the following controls:
     a.  TDBGrid
     b.  TTable
     c.  TDataSource
     d.  TEdit
     e.  TButton

4.  The table that I am displaying in the TDBGrid is defined as follows:

    Code <primary key> char(10) not null

5.  Assume that the TDBGrid displays the following rows upon activating the
table.
    Notice that there are NO duplicate codes!

    Code
    ====
    A
    B
    C
    C2
    D

6.  I use a TEdit field to enter code values to attempt to find in the
TDBGrid.  I enter
     the character 'C' and then click on my TButton control.  On the OnClick
event of the
     button is the following code:

     procedure TForm1.Button1Click(Sender: TObject);
     begin
        Table1.FindKey([Edit1.Text]);
     end;

    When this code is executed, suddenly a duplicate rows appear in the
TDBGrid for matching row...

    Code
    ====
    A
    B
    C    ( Original row )
    C    <<< New duplicate row after performing first FindKey call
    C2
    D

    If I click on the TButton control (without entering another character -
only 'C' is in the TEdit field),
    another matching row suddenly appears....

    Code
    ====
    A
    B
    C    ( Original row )
    C    <<< Old duplicate row resulting from first FindKey call
    C    <<< New duplicate row after performing second FindKey call
    C2
    D

    I've developed the same dialog in Delphi 1.0 Client/Server and DO NOT
encounter this problem.

7.  I've also encountered the same problem (in Delphi 4.0) using the
following TTable methods:
     a.  FindNearest
     b.  GotoKey
     c.  GotoNearest

8.  Thinking that maybe the problem had something to do with Sybase, I've
installed Sybase
     System 11.1 Open Client and still encounter the problem.  I have since
uninstalled
     System 11.1 and reinstalled Sybase System 10 Open Client.

9.  Originally, I encountered this problem in a TDBComboBox control when
performing an incremental
    search; duplicate rows would appear when a match was located in the
Combo's list.

I would assume that other Delphi 4.0 developers have encountered this same
problem;
what I am attempting to do is a common operation.   Any suggestions would be
greatly
appreciated.

Todd L. Scheuerman
Todd.Scheuer...@Medstat.Com