Pavy,
El evento itemchanged se dispara cuando se cambia el foco, o sea, cuando el cursor salta de un campo a otro. Tal vez lo estás programando en el evento editchanged, este evento si se dispara cuando presionas una tecla.
En todo caso, podrías implementar una nueva funcionalidad: haz que el usuario digite el código deseado y luego con un ENTER recien validarías el stock.
Para ello tendrás que crear un nuevo evento en tu datawindow:
Nuevo Evento: ue_dwnkey
Event ID: pbm_dwnkey (esto es importante)
Dentro del script de este nuevo evento le pones:
if KeyDown ( KeyENTER! ) = true then
// Aqui iría el código que validará el stock
end if
Esto hará que cuando el usuario digite el código, solo cuando digite la recla ENTER, se validará el stock.
Si en algun momento deseas hacer lo mismo, por ejemplo en un Single Line Edit (en general, en todo objeto que no sea una datawindow), entonces tambien crearías un nuevo evento pero le pondrías Event ID "pbm_keydown" (solo para datawindows es "pbm_dwnkey", como ves no es lo mismo ).
Suerte.