I ran into this when setting up my inventory solution. The way I got around it was reprogramming the end character of the scanner, as I recall. There's a link online from most of the retailers I've found (specifically ZeroBlue) that allows you to download the "programming" barcode files.
If you can't find that let me know and I'll try to dig it up (it's been MONTHS ago that I set mine up and I'll admit I'm a little foggy on all the details of how it went down).
Have you tried setting up the field behavior to allow for exiting the field upon a carriage return in the inspector? That exiting is what triggers my scripting...
I think that enter find mode [pause] step is going to be a source of trouble. That line will pause your script until the enter key (code = 10) is pressed.
I'd set this up to scan into a field with global storage. Then use the onObjectExit trigger to start up the find script which can then use set field with the scanned data in the global field to set up the find criteria:
Enter find mode  //note: pause check box is cleared.
Set field [Yourtable::barcodefield ; YourTable::Globalbarcodefield ]
Set Error capture [on]
Perform Find