Records "fly-away" when edited - MSSQL

I have a small (couple of hundred record) MSSQL table which I normally edit
with a program written in Delphi. I was having a problem editing some of the
records in the Delphi program, so I tried using the Database Desktop. When I
attempt to edit the same records in the Desktop Database, the record "flies
away" leaving the cursor on a DIFFERENT record! If I try to edit the same
record a second time in the same session, the DD will tell me that the
record is locked. Now, I know MSSQL doesn't even provide record locks so I'm
totally confused.

This problem only occurs on some records, not all. I tried dropping the
primary key on the table and re-creating it, but that did not solve the

Anybody seen this before? Got a solution?