The advantage of C++ is the direct memory and hardware access. In C# and Java you need some extra stuff for that. Looks like the
RFID stuff isnt to problematic.
You are right that MFC is a bit outdated but its does its job. I can recommand you this
great C++ tutorial because the language is presented well and with good examples.
In MFC you normally choose a template solution like the dialog and than extend it with your code. For redistribution it is best to use static linking of the MFC in the Release build.
A good programmer can write code in different languages because he is modelling the software (like classes, user interface and control flow) and than "writes it down". ;-)