Pues si tienes razon, hay un error, solo espero que no pienses que el error es de Delphi, el error es el tuyo:
Al tener un dbEdit conectado a la base de datos cualquier cosa que escribas ahi se va a reflejar en la tabla, por eso es que te funciona bien en el edit
Una observacion: Si tienes un motor de base de datos tan poderoso como SQL SERVER porq utilizas un locate

, pienso que estas subutilizando los recursos
Otra cosa te recomiendoesel manejo de errores