Yo tengo un evento igual que tu proceso y me funciona correctamente.
Para probar he hecho lo mismo en un proceso sin origen que lanzo desde un botón y me he encontrado algo curioso.
No te funciona por culpa del if(OK) .Si le quitas la comprobación se ejecuta correctamente, pero con este if no coge valor ni la variable local ni, lógicamente, la global.
Lo curioso es que en un evento si hace bien la comprobación.