Interfacing a micro controller to a PC is possible. There are many ways of doing that. You can use a wired link or a wireless link as you prefer. Connecting via the PC serial port to a UART of the MCU is the simplest way I think. And yes you can use .NET for this purpose. I don't have much experience with VB, but you definitely can using C#.
Obtaining the pin code from the microcontroller and looking up in the database will not be a heavy task and that depends on your VB skills..
On the event of a power interruption, your microcontroller program can get to know it and then it can save user inputs in its NVRAM and once the power is up it can send those info to the pc. This is just an idea, there might be different ways of achieving this task.
I just answered your questions.. Post YOUR design ideas here and I'll try to help you as much as I can.