about clEnqueueWriteBuffer() during a kernel execution-Collection of common programming errors
It is worth running a test for your implementation, but from what I remember of my work with both AMD and NVIDIA through OpenCL the queues will be in-order, even if specifying the out-of-order flag.
Even if the command will execute out of order, caching done by the device may not allow you to see that change in the kernel. For global memory, and subsequently the rest of the memory, the OpenCL specification states that:
Global Memory. This memory region permits read/write access to all work-items in all work-groups. Work-items can read from or write to any element of a memory object. Reads and writes to global memory may be cached depending on the capabilities of the device.
So even if you are able to write to the device memory, it is very unlikely the a kernel will be able to read those changes. In your case, writing, I would assume that the kernel writes would commit before the write buffer occurs, but it seems that the OpenCL specification is deliberately vague on this point (perhaps to allow for APU-type data accesses).