We had issues with the scanning of long barcode - If your device used datawedge to decode barcode make sure you put Interchar delay of at least 2.
Set the the device to send an Enter after the scan. In magic we just trap the enter to do next field....This allow the user to scan a barcode ou type it manually and press enter (tab is usually not directly accesible on the keyboard scanner) if it's not readable...