I've personally used GDPicture Imaging Toolkit with good results, but I use it only for displaying the scanned images and not for scanner control.
To keep things really simple, I set up the PB app to monitor a specific folder, and then configured the scanner button to scan to that same folder (using the vendor-supplied scanner software). The user sees the document appear in a window of the PB app, and can then drag and drop it into an appropriate place. The PB app manages the moving of the file from the scan folder into a directory that is managed by the application.