C# combines good performance of C++, compact syntax of C and practically oriented approach of old VB. But be warned C# is still .NET language so forgot C style "when I say, what I say, exactly - no smart decisions behind". Nevertheless C# is language of choice - go to the first bookstore and count how many books has printed something like "all examples in this book are in C#, VB translations are available on CD" :-))))
The answer to all of your questions is C#. You will find more online resources available and the syntax resembles java if you have any experience with it. I would say VB.NET over VB6 just because if you're learning a new language you might as well be learning the newest as it will make you more marketable in the work force.
I am planning on making a biometrics attendance system. I have the hardware and planning on creating a software.
Basically you're readind serial data from COM-port and that is equally easy (or difficult) task with VB.NET, VB6 and C++ (or C#).
Most of your application will deal with other things. Like UI, data storage and data manipulation. You should consider, which is the most suitable language for that.
Another thing to consider is the resources you have. Do you have time (and money) to learn a new programming language?
And the last things to consider. How long life-cycle your application will have? Who will maintain the code during that time? Will your application be compatible, or easily ported, to future versions of Windows OS if needed?
Right now you could use any programming language mentioned above. Each of them is a good choice at the moment. I did some LIMS stuff with good old VB6 for my customer some six months ago. But in a long-term, the support for .NET languages (VB.NET or C#) will be guaranteed. This is my personal opinion :)