I'm using a Canon a1300 with an EyeFi to auto upload images then my code processes these with various imgtools, Image Magick and then the Tesseract OCT package so my bet is that this will do just fine.
USB to me means WEB CAM. OK, why not a WEB CAM and then use the usual capture code in Visual Studio apps?
Remember I'm taking it that you are a seasoned Windows programmer. Also, strange restriction on the web cam. It falls neatly into your spec.