Hello,
I am an electronic engineer with more than 6 years of experience in embedded systems development, especially based on raspberry pi. I read through your project description, and (which is long anyway :) ) and I found that I have completed very similar tasks before.
For one of the projects I completed earlier, I had to scan the ID of the user and store that in a database, so I did a similar thing using a USB camera on raspberry pi.
As you have mentioned, C# can be worked in raspberry pi, but the problem here is, same driver/libraries used in the C# code, to read from the camera, cannot be used in raspberry pi/Linux system. Since the GUI is simple enough, I think rewritting the code would be a faster option here, considering the number of work arounds we have to use if we are to use C# code.
I usually develop programs in Java (especially for Rpi) and since it is cross-platform, you will be able to use it on Windows as well.
I am looking forward to hearing backfrom you with more details.
Thank you
Anusha