Even after account expiration (as per /etc/shadow) that user can use samba resources if encrypt passwords is set to yes (to accomodate Win98 users). If not using encrypted passwords, account expiration works as expected (thanks to PAM, I guess). Workaround would be not to use encryption.. But then (fear!) I would have to change registry settings on all the Win clients.......
This is becouse samba does not use PAM when checking encryped passwords. A better approach would be the one used by OpenSSH, still using PAM despite having a RSA authentication.
The current version(s) of Samba now use PAM. Please try a newer version and if the problem still exists re-open this bug report.
No release of Samba will involve PAM in the checking of ANYTHING if encrypted passwords are used, hence the problem. Currently all PAM is allowed to do is to say yea or nea to a particular username/password pair, and only if the plain-text password is available. (Account disabling is then caught as it checks the account module in the same process).