pcsc lite has problem with threading and have a predefined way of how this works, however it do not match the same behaviour using MS PCSC, we do have a problem here because we are tunneling M$ app into pcsclite eg. rdesktop -r scard for example, and pcsclite should match the same behaviour which is does not. This problem was found and can be reproduced using NetID and config option StateTimeout set to 10 which disables the poll mechanism into infinit wait of state change. Read more about this on bug #4011.
Here follows some information about multithreaded pcsc lite state checking: http://web.archiveorange.com/archive/v/rlVGayh6O8zUGoCJ54QN