Buenas!
Perdona mi tardanza, pero es que no había visto que preguntabas otra cosa.
En la query no puedes referenciar a un campo de un formulario. Debes crear un parámetro y después, antes de ejecutar la select. En lugar de :
update Productos set Stock = Stock - strtofloat(form3.edit1.text) where Producto = form1.edit1.text
Debes poner:
update Productos set Stock = Stock -

aramstock where Producto =

aramproducto
y llamarlo de la siguiente manera:
qry.parameters.parambyName('paramstock').Value := strtofloat(form3.edit1.text);
qry.parameters.parambyname('paramproducto').Value := form1.edit1.text
qry.execsql;
Un saludo
Edu