Un saludo especial desde COLOMBIA
para solucionar tu problema tienes varias opciones
1- en tiempo de ejecución colocar tu DW como READONLY, esta opción es muy buena si quieres que tu DW sea editable en algunas ventanas y en otras no, además es más sencilla de implementar que las otras.
coloca este script en el open de tu ventana
dw_1.Object.DataWindow.ReadOnly = "Yes"
2 - puedes proteger todos los campos de tu DW, esta opción se puede hacer tanto en tiempo de diseño como en ejecución, es menos optima que la anterior.
en tiempo de diseño, vas a las propiedades de cada campo y en la opción PROTECT le colocas 1
en tiempo de ejecución pones una línea como esta en el open de la ventana para cada campo del DW
dw_1.Object.nombre_campo1.Protect = 1
dw_1.Object.nombre_campo2.Protect = 1
3 - quitarles el TAB ORDER a todos los campos del DW, esta solución es casí igual que la anterior, se puede realizar tanto en tiempo de diseño como en ejecución.
tiempo de diseño
abres el DW, le das click el el menú FORMAT y luego en TAB ORDER (esto en PB 8.0.3), o le das click directamente en el icono de TAB ORDER (unos cuadritos unidos con líneas rojas y azules)
luego le colocas 0 (cero) en el espacio rojo que se pone encima de cada campo.
en tipo de ejecución, pones una línea como esta en el open de la ventana para cada campo del DW, la secuencia debe ser diferente
dw_1.Object.nombre_campo1.TabSequence = 10
dw_1.Object.nombre_campo2.TabSequence = 20
espero que soluciones el problema con cualquiera de esta alternativas