There is always a risk of missing events with remote I/O, and for event-centric functions (like scanning a bar code), vendors will generally implement the comms as an arm/operate/report protocol. Not familiar with your device, be that is definitely a question I would want answered.
[aside]
When we developed the original CTRIO, that was a major concern of ours. Since the Koyo PLC wasn't accessing the module synchronously, and because
it could take many scans before the entire memory map was exchanged with the PLC, we implemented a handshake interface. Drove users and tech support crazy because it was 'hard', but once the PLC code was correct, it always worked...even from a remote base. We could have done it 'easy', but would have risked creating flakiness that might only show up once in 10000 operations. We were able to hide the details from the user through IBoxes and Do-more instructions, so it's painless now, but there are definitely some products out there that insist on 'easy', even if it makes for an unstable product.
[/aside]