Hs,
Sounds like you have buffering (row) on for that table. With row buffering you replace the field and deleted the record (in the buffer) then you SEEK and find the original record, but the SEEK moved the record pointer and forced VFP to do an implicit TableUpdate and write the new data to the table. Your next SEEK fails because the table has now been updated and no longer has the value you are seeking.
Follow the REPLACE with a TableUpdate(0,.F.,"TheAlias") and this problem will go away.