I'm guessing your using some form of bluetooth or external scanner right?.
If that is the case, the delay is possibly the transmission of the scan data to the field on your layout.
The lookup you talk about should be almost instantaneous and should be based on a relationship of the barcode.
I have somewhat the same issue, we scan several barcode types EAN 8 or 13 and EAN128 barcodes with several (5-7) populated AI data segments, we could be reading in between 8 to 60 characters in a scan and it would take about a second for all that to write to the scan data field.
Once the data is written I do a quick check to see of the barcode data exists in the stock control file, if so update the relevant information and move on to the next field and beep. If the data is corrupt I will clear the scandata and perhaps beep 3 times for the users attention or control further interaction with a popup dialogue. The only delay I have is waiting for the initial scan data to write to the scandata field on my layout.
Unfortunately, FMGo can not communicate back to the external scanner.
The other options you have are batch scanning where the scanner holds all scan data in a buffer and you can download that data later.