An interesting adventure - if anyone is interested in how to do this contact me. We used the following devices:
SAGEM MSO-series fingerprint reader
pcPRox RFID reader
ADAM primarily, with some AD integration to hold the fingerprint-minutae data
What made this interesting was writing the application entirely in 'Unmanaged' C++ and integrating the SAGEM SDK (MorphoSmart API) and the pcProxlib API SDK. Both these APIs are provided as native C++ DLLs and ultimately drove our decision to go the complete C++ route. Some useful techniques for using the ADSI ('ADs...') calls and the various AD/AM COM objects was (painfully) learnt.
We are currently building a C#-interop wrapper for the various SDKs to make life a lot easier...