The pcscd init scrip was pointing to the wrong value to identify the haldaemon. It was also starting up at run-level 2.
chkconfig would not automatically place pcscd after the start of haldaemon. This would casue pcscd to fail to see usb readers (the most common readers).
Change the pcscd init script to properly identify haldaemon and only start at run-levels 3,4, and 5.
chkconfig will now correctly place pcscd start after haldaemon.