I found out that CkMailMan will always issued RSET at the end, so the get_LastSmtpStatus() will always return 250. In this way, the last smtp status is incorrect when failed to send email.
I tried to set put_AutoSmtpRset(false), but it is no use.
Thanks. Chilkat will examine this issue this coming week and will respond again (hopefully with a fix if the problem can be reproduced).